どのように使用できますか。できれば単一のchmod
コマンドを使用します。これにより、ユーザーはディレクトリにファイルを作成できますが、ファイルの所有者(ファイルを作成したユーザー)のみが自分のファイルを削除できますが、誰も削除できません他はそのディレクトリにあります。
私は使用することを考えていました:
chmod 755 directory
ユーザーはファイルを作成して削除できますが、他の人のファイルを削除することはできませんか?
ファイルを作成した人だけが自分のファイルを削除できるようにしたい。したがって、誰でもファイルを作成できますが、ファイルを作成した人だけがそのファイルを(ディレクトリ内で)削除できます。
スティッキービットは多かれ少なかれあなたが望むものを行うことができます。 man 1 chmod
から:
制限付き削除フラグまたはスティッキービットは1ビットであり、その解釈はファイルタイプによって異なります。ディレクトリの場合、権限のないユーザーがファイルまたはディレクトリを所有していない限り、ディレクトリ内のファイルを削除したり名前を変更したりすることができません。これはディレクトリの制限付き削除フラグと呼ばれ、一般に/ tmpなどの誰でも書き込み可能なディレクトリにあります。
つまり、ディレクトリにスティッキービットが存在する場合、ユーザーがファイルの所有者または格納されているディレクトリの所有者(またはユーザーがroot)である場合にのみ、含まれるファイルの名前を変更または削除できます。
次のように、スティッキービット(8進数の1000またはt
で表される)を適用できます。
# instead of your chmod 755
chmod 1777 directory
# or, to add the bit to an existing directory
chmod o+t directory
ほとんど/tmp
ディレクトリは、そのタイプの権限セットで作成されます。
あなたは世界を「粘着性がある」ビットが欲しいです。そのビットを設定する象徴的な方法は次のとおりです。
# chmod ugo+w,+t directory
「モーダル」な方法は次のとおりです。
# chmod 1777 directory
# ls -ld directory
drwxrwxrwt 2 root wheel 2 Oct 21 17:06 directory/