クラスに書き込み権限を与えて、削除権限を与えないようにするにはどうすればよいでしょうか? chmod の 8 進数番号に影響しますか?

クラスに書き込み権限を与えて、削除権限を与えないようにするにはどうすればよいでしょうか? chmod の 8 進数番号に影響しますか?

現在これを作成しようとしています:

  • 所有者: 読み取り/書き込み/実行
  • グループ: 読み取り/書き込み/実行
  • その他: 読み取り/書き込み/実行

chmod # が 777 であることは理解していますが、「その他」のクラスが削除できないようにする方法はありますか? これにより、chmod # が変更されますか? 変更される場合、# は何ですか?

答え1

「他の人が作成したファイルを削除する」という意味であれば、粘着性ディレクトリのビット。

これは次のようなディレクトリでよく見られます/tmp:

% ls -ld /tmp
drwxrwxrwt 15 root root 36864 Apr  7 21:46 /tmp

末尾の「t」は、ディレクトリが「スティッキー」であり、ユーザーは自分のファイルのみを削除できることを意味します。つまり、ユーザー A はそこにファイルを置くことができ、ユーザー B はそこにファイルを置くことができます。しかし、ユーザー A はユーザー B のファイルを削除することはできません。ユーザーは自分のファイルを削除したり変更したりすることはできますが、他の人のファイルを変更することはできません。

そのフラグを設定するには、権限 1777 ( chmod 1777 dir) が必要です。

関連情報