私のユーザーの下にファイルを作成し、esolve
chownsu root
を使用してそのユーザーをrootに変更してから、ユーザーに戻ります。esolve
それでもファイルを削除できることがわかりましたrm
。なぜですか?
答え1
ファイルの作成、名前変更、削除の可否は、ファイルの所有権とアクセス権ではなく、親ディレクトリの所有権とアクセス権によって異なります。
ディレクトリへの書き込みアクセス権がある場合は、これを実行できます(richaclは一般的な状況ではより複雑です)。例外は、通常どおりに設定された固定ビット(「other」の「SUID」/「SGID」ビット、参考資料を参照)があるman chmod
ディレクトリです/tmp
。これらのディレクトリでは、ディレクトリ所有者またはファイル所有者のみがこれを実行でき、書き込み権限を持つ他のユーザーは実行できません。
答え2
ファイルを削除できるので、ファイルを読むことができれば、実際に「修正権限」があるのです。
foo
「owner」というファイルがあり、root
このファイルは(すべての人)が読み取ることができ、you
「owner」ディレクトリにあるとします。you
-rw-r--r-- 1 root root 4 May 11 12:34 foo
drwxr-xr-x 2 you root 4.0K May 11 12:34 ./
このファイルを新しいファイルにコピーします。
$cp foo バー
-rw-r--r-- 1 root root 4 May 11 12:34 foo
-rw-r--r-- 1 you you 4 May 11 12:36 bar
drwxr-xr-x 2 you root 4.0K May 11 12:36 ./
必要に応じてファイル「バー」を編集します。
「bar」を「foo」に移動
$mv バー foo
-rw-r--r-- 1 you you 4 May 11 12:36 foo
名前は同じですが、所有者は別の新しいファイルを作成しました。さてここでポイントは内容が変更されました
変更権限はありませんが、名前変更/移動/RMは可能です。このデザインは本当に耐えられません! !