オペレーティングシステムは、特定のコマンドにsudoが必要であることをどのように知ることができますか?

オペレーティングシステムは、特定のコマンドにsudoが必要であることをどのように知ることができますか?
  1. 実行可能ファイルを実行すると、オペレーティングシステムが権限を拒否することがあります。たとえば、make install実行するにはシステムパスを持つプレフィックスが必要ですsudoが、システム以外のパスを持つプレフィックスはそうではありませんsudo。オペレーティングシステムは、プログラムが実行する前に実行可能ファイルを実行するには、ユーザーが持っているよりも多くの権限が必要であることをどのように決定しますか?
  2. 時々、プログラムの実行は権限を拒否されませんが、使用される場合。たとえば、特定のシステムディレクトリで sudo実行されている場合、特定のディレクトリはそれを介してのみアクセスできます。なぜオペレーティングシステムは、プログラムが実行される前にそのようなプログラムを実行する権利を拒否しないか、またはより多くの権利が優先されるという使い慣れた通知を拒否しないのですか?dusudo
  3. sudo効果があればsu効果があり、su効果があればsudo効果があるという意味ですか?またはを使用すると、ユーザーは?suより多くの作業を実行できます。sudoオペレーティングシステムはどのsudoように作業時期とsu作業時期を決定しますか?

ベストアンサー1

説明する目的に応じて、オペレーティングシステムは最初にsudoが必要かどうかを決定しません。走るプログラム。代わりに/usr/bin、オペレーティングシステムは、プログラムの実行が開始された後にファイルアクセスをブロックし、現在のユーザーに許可されていない操作(新しいコマンドをインストールするためにファイルに書き込む)を実行しようとします。この場合の対策はプログラムによって異なります。make実行は停止しますが、duメッセージを印刷してから次のファイル/ディレクトリに進みます。

suコマンドは、sudoroot権限でプログラムを実行する2つの方法です。使用するオプションによって、新しいプログラムを起動する際の環境内容など細かい部分が異なる場合があります。オペレーティングシステムは、これらのいずれかがいつ動作できるかを決定する必要はありません。

おすすめ記事