一般ユーザーがファイルを「chown」できないのはなぜですか?

一般ユーザーがファイルを「chown」できないのはなぜですか?

このchownコマンドをrootユーザーだけが使用できるのはなぜですか? root以外のユーザーがchownを使用して自分が所有するファイルを削除できないのはなぜですか?

ベストアンサー1

ほとんどのUnixシステムは、ユーザーがファイルを「漏洩」するのを防ぎます。つまり、chownターゲットユーザーとグループの権限がある場合にのみファイルを実行できます。使用chownするにはファイルを所有またはルートにする必要があるため(ユーザーは他のユーザーのファイルを占有できません)、ルートのみがchownファイル所有者を別のユーザーに変更できます。

この制限を適用する理由は、他のユーザーにファイルを提供することはまれですが、依然として重要な状況で悪いことが発生する可能性があるためです。たとえば、

  • システムでディスククォータが有効になっている場合、Aliceは自分がアクセスできるディレクトリに誰でも書き込み可能なファイルを作成し(他の人は誰にもアクセスできません)、他のユーザーにファイルをchown所有させることができます。あります。請求書。 Aliceだけがファイルを使用できますが、そのファイルはBillのディスククォータに含まれます。
  • アリスがビルにファイルを渡すと、ビルがファイルを生成しなかったという兆候はありません。ファイルに違法なデータや有害なデータが含まれていると、問題になる可能性があります。
  • 一部のプログラムでは、要求を検証するために入力ファイルが特定のユーザーに属している必要があります(たとえば、ファイルにはプログラムがそのユーザーの代わりに実行するいくつかの指示が含まれています)。 Billが構文的に正しい指示を含むファイルを生成しても、この特定の時間にそのコマンドを実行する意図がない可能性があるため、これは通常安全な設計ではありません。しかし、AliceがBillへの入力としてランダムなコンテンツを含むファイルを生成することを許可すると、状況はさらに悪化します。

おすすめ記事