sudoは何を意味し、どのような役割を果たしますか?

sudoは何を意味し、どのような役割を果たしますか?

「これはどういう意味なのか教えてくれる人はいますかsudo?」私はLinuxを学んでいます。グーグルしましたが、誰が教えてもらえますか?Windows比較してみると少しでも役に立ちそうです。私はsuこれがユーザー切り替えを意味することを知っています。sudo他のユーザーですか?ところで、どうして、なぜそうなのでしょうか?なぜ自分のユーザー名で自分に権限を付与できないのですか?

ベストアンサー1

デフォルトでは、ほとんどのUnicesは「管理者」アカウントのルートのみを慎重に使用できます。一般的なUnixシステムには、2つのレベルの管理者または「スーパーユーザー」権限しかありません。つまり、すべての権限を持っているか、すべて、またはそうではありません。

「完全な制御」には、ほとんどの権限確認をバイパスし、単純な誤入力を介してシステムを完全に壊すことが含まれます。一般ユーザーは自分のファイルのみを削除できます。

以前のsuユーティリティはルートパスワードと一緒に使用され、ルートアイデンティティを想定していますが、正しいユーザーグループに属していることがわかっている場合は、他のユーザーのアイデンティティを想定したり、個々のコマンドを実行したりするためにも使用できます。彼らパスワード。

suよく使われるものは渡すrootユーザー(一部のUnixシステムの場合)は、特定のユーザーのIDで実行する必要があるデーモン(サービスプロセス)を開始し、そのユーザーがアクセスできない領域(通常はWebサーバー、SSHサーバーなど)にアクセスできないようにします。これはシステム起動時に起動スクリプトで実行できます。

suインタラクティブに(コマンドラインで)ほとんど使用されません。

このsudoユーティリティを使用すると、ユーザーは別のユーザーIDを使用してコマンドを実行できるため、追加の構成が必要です。彼らだけパスワード(たとえば、ルートパスワードを共有する必要がないことを意味する)、誰がどのようなことを行うことができるかを詳細に制御できます。たとえば、単一ユーザーまたは全ユーザーグループに特定のディスクをマウントする機能を提供できますが、マウント解除、別のディスクのマウント、または特定のコマンドを使用してソフトウェアをインストールすることはできません。同様に、このユーティリティを使用すると、sudo他のユーザー(ただルートではない)のアイデンティティを想定して対話型セッションを実行したり、root権限を持つ他の人がこのように構成を設定した場合に個々のコマンドを実行できます。

通常、次のコマンドを使用して単一のコマンドsudo(したがって「スーパーユーザーの実行」という名前)を実行します。

$ sudo apt-get install vim

または

$ sudo shutdown -ph now

実行したコマンドがログに記録されるため、対話型ルートシェルを使用するよりもこの方法を使用する方がsudo良いです。sudo -s後でログファイルのタスクを追跡して、デバッグまたは監査目的でタスクを実行した場所(および誰が)を確認できます。

長い間インタラクティブなルートプロンプトに入力する場合は、現在実行している作業と実際にroot権限が必要かどうかを再確認する必要があります。

たとえば、唯一の時間対話型ルートプロンプトは、新しくインストールされたコンピュータに一般ユーザーを追加したり、一般ユーザーとしてログインできなくなる重大な問題に直面したときに表示されます。


OpenBSD(バージョン5.8ベース)には、基本的なシステムインストールをdoas置き換えるユーティリティがあります。 OpenBSDは、OpenBSD開発者が設定した目標を達成するには複雑すぎるというsudo事実が発見されたときに開発されました。sudo使い方はsudoしかし、設定する方が簡単です。

おすすめ記事