root以外のユーザーの「root」に属するファイルを削除できるのはなぜですか? [コピー]

root以外のユーザーの「root」に属するファイルを削除できるのはなぜですか? [コピー]

私のユーザーの下にファイルを作成し、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は可能です。このデザインは本当に耐えられません! !

関連情報