web-dev-qa-db-ja.com

Linux +特定のユーザーのみにファイルの読み取りを許可する方法

ユーザーtutuだけがファイルを読み取れるようにしたいとしましょう

/home/grafh/file.txt 

それを可能にするために必要な構成は何ですか?

  • ファイルの所有者はrootのままである必要があります(ユーザーtutuのみがファイルを読み取ることができます)
5
yael

ファイルACL(アクセス制御リスト)を使用する従来のDAC(随意アクセス制御、通常のrwx権限)を使用すると、2つの可能性があります。

DACアクセス許可の使用

tutuが独自のグループを持たない場合(groups tutu出力)、新しいグループを作成し、tutuをこのグループの唯一のメンバーにする必要があります。

root@Host:~# addgroup tutu
root@Host:~# usermod -G tutu tutu

次に、ファイル権限を変更して、tutuグループのメンバーに読み取りアクセスを許可します。

root@Host:~# chgrp tutu /home/grafh/file.txt
root@Host:~# chmod 640 /home/grafh/file.txt

このファイルはrootが所有し続けますが、tutu他のユーザーによるものではありません。

ACL権限の使用

ACLは、上記のDACアクセス許可に加えて追加される権利です。歴史的なUnix DAC許可システムを使用して簡単に解決できない状況を解決するためのものです。

tutuにファイルの読み取りを許可するには:

root@Host:~# setfacl -m u:tutu:r /home/grafh/file.txt 
6
WhiteWinterWolf

これを機能させるには、tutu/home/grafhへの実行アクセス権が必要です。

rootは次のコマンドを実行する必要があります:

chown root:tutu /home/grafh/file.txt 
chmod 640  /home/grafh/file.txt

これは、グループtutuがあり、ユーザーtutuがその唯一のメンバーである場合にのみ機能します。

2
Hauke Laging