GNU/Linux >> Linux の 問題 >  >> Linux

すべてのユーザーがディレクトリにファイルを作成できるようにするが、所有者のみが削除できる

スティッキービットは、多かれ少なかれあなたが望むことをすることができます。 man 1 chmod から :

<ブロック引用>

制限付き削除フラグまたはスティッキー ビットは単一のビットであり、その解釈はファイルの種類によって異なります。ディレクトリの場合、権限のないユーザーがファイルまたはディレクトリを所有していない限り、権限のないユーザーがディレクトリ内のファイルを削除または名前変更できないようにします。これは、ディレクトリの制限付き削除フラグと呼ばれ、/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/

Linux
  1. ディレクトリ内のすべてのファイルを削除する3つの方法(拡張子が付いた1つまたは少数のファイルを除く)

  2. 最後の(最新の)20を除くフォルダ内のすべてのファイルを削除しますか?

  3. 特定のフォルダ内の特定の拡張子を持つすべてのファイルを削除するにはどうすればよいですか?

  1. すべてのファイルを取得しますが、ファイルは配列内にあります– Bash?

  2. ディレクトリ内の最後の8ファイルのみを別のディレクトリに移動しますか?

  3. Active Directoryでユーザーとグループを作成、管理、および削除します

  1. Git リポジトリを削除しますが、すべてのファイルを保持します

  2. bashスクリプトで最新の3つを除くすべてのファイルを削除します

  3. ディレクトリ内のすべてのファイル (ファイルのクラス) へのシンボリック リンクを作成する方法は?