たとえば、ACLを設定したいと思います。 /tmp/testフォルダは次のとおりです。
/tmp/testの所有者は、「testgroup」グループのメンバーであるユーザー「gaspar」です。
ユーザー「testuser」は「testgroup」グループのメンバーでもあり、そのユーザー+所有者(ユーザー「gaspar」)にのみrwx権限を付与したいと思います。
また、/tmp/testに新しく作成されたすべてのファイル/ディレクトリに対して同じaclを自動的に設定する必要があります。
faclを次のように設定すると:
setfacl -Rdm u:testuser:rwx,g:testgroup:-,o::- /tmp/test/
getfacl -p /tmp/test/
付与された権限:
# file: /tmp/test/
# owner: gaspar
# group: testgroup
user::rwx
group::---
other::---
default:user::rwx
default:user:testuser:rwx
default:group::---
default:group:testgroup:---
default:mask::rwx
default:other::---
これにより、ユーザー "testuser" は /tmp/test フォルダーに対する権限を持っていません。問題がどこにあるか、どのように解決すべきかを提案できますか?
aclをこのように設定すると(「d」オプションなしで)、ユーザー「testuser」は必要な権限を持ちますが、新しく作成されたファイル/ディレクトリには同じaclがないようです。
setfacl -Rm u:testuser:rwx,g:testgroup:-,o::- /tmp/test/
getfacl -p /tmp/test/
# file: /tmp/test/
# owner: gaspar
# group: testgroup
user::rwx
user:testuser:rwx
group::---
group:testgroup:---
mask::rwx
other::---
どんな提案にも感謝します!
ベストアンサー1
システムでは、再起動後にファイルが消えます/tmp
。そうですか?おそらく、これは永久的な解決策のための良い場所ではないかもしれません。ディレクトリにACLを設定し、ディレクトリ内のすべての新しいファイルシステムオブジェクトにACLを適用するときは、2つのマスク、つまり(1)ディレクトリ自体のマスクと(2)すべての新しいファイルシステムオブジェクトのデフォルトマスクを設定する必要があります。 )).
setfacl -m u::rwx,g::r-x,o::--- /tmp/test
setfacl -d -m u::rwx,g::r-x,o::--- /tmp/test
上記のスイッチ-m
はマスク/tmp/test
であり-d
、スイッチはこのマスクを同じディレクトリにあるすべての新しいファイルシステムオブジェクトのデフォルトマスクにします。 0750と同じです。 8進値も使用できます。
ユーザー、グループ、およびその他のマスクは、同じ方法で操作またはg:groupname:---
組み合わせて機能しますu:username:---,g:groupname:---,o::---
。ユーザー名またはグループ名を指定しないと、現在のユーザー/グループの所有権にマスクが適用されます。
すべてのソフトウェアがACLをサポートしているわけではありません。たとえば、すべてのSFTP / SCPクライアントがこれを知っているわけではありません。