ディレクトリにファイルを追加しても既存のファイルを削除しない機能

ディレクトリにファイルを追加しても既存のファイルを削除しない機能

ユーザー(たとえばjohn)がディレクトリにファイルを追加できますが、d他のユーザー(たとえば)が所有する既存のファイルを削除できないようにする権限設定がありますかroot

私の理解は、ディレクトリにファイルを追加するには実行権限が必要なので、これは不可能であるということです。ただし、これはディレクトリ内のすべてのファイルのリンクを解除する権限も提供します。

(私はMac OS 10.9を使用していますが、この質問はおそらくすべてのPOSIXシリーズシステムに適用されます。)

答え1

はい、そのために必要です固定ビット設定このディレクトリについて。

抜粋

もう1つの重要な改善点は、ディレクトリに固定ビットを使用することです。固定ビットが設定されているディレクトリは、ファイル所有者とスーパーユーザーのみがディレクトリからファイルを削除できることを意味します。ディレクトリ権限に関係なく、他のユーザーにはファイルの削除権限が拒否されます。ファイル固定ビットとは異なり、ディレクトリの固定ビットは、ディレクトリ所有者またはスーパーユーザーが明示的にディレクトリを削除するか権限を変更するまでそのまま残ります。

つまり、ユーザーがjohnディレクトリにdファイルを追加できるようにディレクトリに対する実行権限を付与し、ディレクトリを「固定」とマークして(および+ x権限を持つ他のユーザー)ファイル(またはサブディレクトリ)のみを削除できるようにしますchmod +t /path/to/djohn)彼らは所有しています。

関連情報