POSIX ACLをファイルに適用した後に所有グループに権限を付与する方法を理解しようとしています。通常はを使用しますchmod g+rwx
が、以前にsetfaclを介してPOSIX ACLを適用した場合は機能しません。その後、所有グループのメンバーを介してファイルにアクセスすることはできません。 getfacl の出力は、所有グループ項目が変更されていないがマスクが変更されたことを示しています。
[vagrant@ice01 tmp]$ umask 077
[vagrant@ice01 tmp]$ touch test
[vagrant@ice01 tmp]$ ls -lisa test
1585067 0 -rw------- 1 vagrant vagrant 0 Sep 23 17:43 test
[vagrant@ice01 tmp]$ setfacl -m u:icer01:rwx test
[vagrant@ice01 tmp]$ chmod g+rwx test
[vagrant@ice01 tmp]$ ls -lisa test
1585067 0 -rw-rwx---+ 1 vagrant vagrant 0 Sep 23 17:43 test
[vagrant@ice01 tmp]$ getfacl test
# file: test
# owner: vagrant
# group: vagrant
user::rw-
user:icer01:rwx
group::---
mask::rwx
other::---
私はこれを読んだ回答それは主張する:
ACLエントリを含むファイルのファイルグループ所有者権限を変更するためにchmod(1)コマンドを使用する場合、誰でもファイルグループの所有者権限またはACLマスクが新しい権限に変更されました。
私は参照されたIEEE 1003.1e作業草案の一部を読んでおり、これは彼らの主張を裏付けています。
しかし、もっと重要なのは、ext4ファイルシステムを備えたCentOS 6システムでこの動作を確認できることです(上記を参照)。
setfacl
これがACLを適用した後に所有グループへのアクセスを許可する唯一のオプションであると仮定しますか?
その場合、この動作はエンドユーザーに責任を転記することです。最後に、または使用するかどうかを決定する前に、chmod
ACLが設定されていることを確認する必要がありますsetfacl
。
ベストアンサー1
タイトルの質問に対する答えは次のとおりです。setfacl -m group::rwX test
大文字のXは、「他の人がすでに実行権限を持っている場合にのみ実行権限を付与する」を意味します。 (このペアは同じ意味ですchmod(1)
)setfacl
chmod
ACLエントリはgroup::
ファイルの現在のグループに対応します。グループをtest
Vanguardグループ以外のグループに変更すると、このgroup::
エントリは現在のグループのアクセス権を制御します。
chmod g+rwx
mask::
ACLがある場合、ファイルまたはディレクトリのUnixグループ権限ビットはACLエントリのエイリアスとして指定されるため、期待どおりに実行されません。 ACLがある限り、これはchmod g+FOO
同じであり、setfacl -m mask::FOO
その逆も同様です。