dirに777権限がありますが、無効な権限でファイルを生成する

dirに777権限がありますが、無効な権限でファイルを生成する

コマンドの実行中にtouch file エラーが発生しました。

touch: cannot touch 'file': permission denied

ファイルを作成したいディレクトリに対して777権限を持っていても、特定のユーザーとしてファイルを作成することはできませんが、他のユーザーはそのディレクトリからファイルを作成できます。

根本原因を見つけようとしていますが、stracestrace出力を理解できません。私が考えると、strace出力に関連する行は次のとおりです。

open("file", O_WRONGLY|O_CREATE|O_NOCTTY|O_NONBLOCK, 0666) = -1  EACESS (Permission denied)

また、特定の権限を持つファイルを生成しようとしましたが、権限エラーが発生しました。試したコマンドは次のとおりです。

install -b -m 511 /dev/null file

ベストアンサー1

ファイルシステムアクセス制御リストによってオーバーライドできます。たぶんLinux ACLですか?を使用してこれを決定できますlsfacl

現在のACLのインポート- getfaclを使用して、すべてのファイルまたはディレクトリの権限を確認できます。以下の例をご覧ください。

# getfacl dir/ file: dir owner: root group: root user::rwx group::--- other::---

ACLを使用した権限の設定- アクセス制御リストから継承したディレクトリに対して「モード」0777を設定できます。setfacl -d -m o::rwx /directory

おすすめ記事