私のディレクトリには、次の権限を持つ複数のファイルがあります。
#ls -l /var/lib/dir/file1
-rw------- 1 root root 130 Jul 9 11:03 /var/lib/dir/file1
特定のユーザーに書き込みを許可し、すべてのユーザーに読み取りを許可したいので、faclを使用しました。
setfacl -R -m u:myUser:rwX /var/lib/dir/
これを実行すると、ディレクトリ内のすべてのファイルにg + rwがあります。
# ls -l /var/lib/dir/file1
-rw-rw----+ 1 root root 130 Jul 9 11:03 /var/lib/dir/file1
g-rwを削除すると、特定のユーザーがファイルにアクセスできなくなり、権限が拒否されました。
この問題を処理する方法はありますか?
答え1
ファイルACLの変更は、ファイル権限ビットの設定に関連しています。
ACLのマンページは次のとおりです。
ACLエントリとファイル権限ビットの対応
ACLによって定義された権限は、ファイル権限ビットによって指定された権限の親セットです。
ファイル所有者、グループ、その他の権限と特定のACLエントリとの間には対応関係があります。所有者権限は、ACL_USER_OBJエントリの権限に対応します。ACLにACL_MASKエントリがある場合、グループ権限はACL_MASKエントリの権限に対応します。それ以外の場合、ACL に ACL_MASK エントリがない場合、グループ権限は ACL_GROUP_OBJ エントリの権限に対応します。その他の権限は、ACL_OTHER_OBJ エントリの権限に対応します。
ファイル所有者、グループ、およびその他の権限は、常にそのACLエントリの権限と一致します。ファイル権限ビットを変更すると関連するACLエントリが変更され、これらのACLエントリを変更するとファイル権限ビットが変更されます。
file1に送信されたACLを見ると、次の出力が表示されます。
# owner: root
# group: root
user::rw-
user:myUser:rw-
group::---
mask::rw-
other::---
マスクの設定に注意してください。マスク設定はグループ設定に反映されます。ただし、ファイル設定を変更してグループ権限を削除すると、ブロック設定も変更されるため、ユーザーmyUserに対する有効な権限はブロックされるため、---です。
もっと読むことができます。ここそして、達成したい具体的な目標に基づいて設定を変更してください。許可ビットを変更しないと、ACL は変更できません。