web-dev-qa-db-ja.com

rootとsudoの違いは何ですか?

Rootユーザーはすべての特権を持つことができます。しかし、通常のユーザーは、suまたはSudoコマンドと自分のパスワードを使用して、rootのようにアクセスできます。

違いは何ですか?

14
Hieu Nguyen

su(およびSudo)コマンドは伝統的にrootのパスワードを必要とします。ただし、Sudoを設定して、通常のユーザーが/etc/sudoersを(rootとして、できればvisudoを使用して)変更することにより、自分のパスワードでroot権限を取得できるようにすることができます。

最新のLinuxディストリビューションでは、最初のユーザーが自分のパスワードでSudoを実行できるように事前構成されています。これにより、ユーザーによる誤ったシステム構成ミスを防止し、個別のrootパスワードを必要とせずにユーザーが完全に制御できるようになります。

7
phihag

通常のユーザーは、sudoersファイルに含まれている場合にのみ、Sudoを使用してrootアクセスを取得できます(つまり、要求に応じて管理者権限を取得するのに十分信頼されています)。本番環境では、ほとんど誰もsudoerであってはなりません。

3
Tremmors

suコマンドを使用して、システムの任意のユーザーに一時的なIDの変更を実行し、そのユーザーの権限で多くのプログラムを実行します。ルートである必要はありません。 suを実行しているユーザーがルートでない場合、IDを取得するユーザーのパスワードを入力する必要があります。

Sudoコマンドは、任意のユーザーの権限で1つのコマンドを実行を実行するためのものです。それもルートである必要はありません。コマンドは非常に構成可能であり、ある種の正確なアクセス制御を提供します。独自のパスワードの入力はオプションであり、設定可能です。一部のディストリビューションでは、システムの最初のユーザーがSudoすべてで実行できます。

3
Michas

上記の回答に追加するには、

su user1ユーザーのパスワードを入力すると、exitと入力するまで資格情報がuser1に切り替わります。suはデフォルトでrootと見なされます。

Sudo他の回答で述べたように、信頼できるユーザーと制限された一連のコマンドに付与できます。さらに、実行されたコマンドをログに記録するようにSudoを構成できます。これは、特権の誤用を追跡するための良い方法です。

2
Lord Loh.

すべての通常のユーザーがSudoを使用できるわけではありません。ユーザーはsudoersファイルにある必要があり、ユーザーが実行できるコマンドまたはコマンドのタイプを制御できます。また、suを使用してrootユーザーに切り替えることができるのは、特定のユーザーのみです。通常、コマンドの限られたセットに対するSudoアクセス許可と、限られた期間における完全なsuアクセス許可のみが与えられます。

1
ldg