web-dev-qa-db-ja.com

「sudo」パスワードが「su root」パスワードと異なるのはなぜですか

私のパソコンでは、管理タスクを実行するために、特定のコマンドの前にSudoを入力することがよくあります。 su rootと入力し、Sudoに通常使用するのと同じパスワードを入力することで、1日中これを回避することを望んでいました。ただし、2つのパスワードは同じではありません(su rootにログインする方法がわかりません)。 Sudoでコマンドを実行することは、su rootでログインして同じコマンドを実行することとは異なりますか?

Sudosu rootは同じだと思います。Sudo whoamiと入力すると、rootが得られるのではなく、whoamiが得られるためです。私のユーザー名。

11
Trevor Hickey

suSudoは、それらの最も一般的な使用法によってあなたが考えるようになるのとは対照的に、rootとしてログイン(またはアクションを実行)するためだけのものではありません。

suを使用すると、自分のアイデンティティを他の誰かのアイデンティティと切り替えることができます。このため、suと入力すると、変更しようとしているターゲットユーザーの資格情報があることをシステムが確認する必要があります。

Sudoは少し異なります。 Sudoを使用すると、特定の(または構成に応じてすべての)コマンドを他のユーザーとして実行できます。自分のIDを使用して、他の誰かのIDの下でどのタイプのコマンドSudoが実行されるかを決定します。信頼できるユーザー(システム管理者が信頼しているという意味)であれば、さらに多くのことが許可されます。たとえば、インターンよりも手綱が無料です。これが、SudoがターゲットユーザーのIDではなく、自分のIDを検証する必要がある理由です。

言い換えれば、suを使用していない人にSudoをしようとすることは、盗んだクレジットカードに購入金額を請求しようとすることは、合法的な代理人が友人の車を売るようなものです。

あなたがやろうとしていたことに関しては、単にSudo su root、またはもっと簡単にSudo suして、通常のユーザーパスワードを入力してください。これは、お友達のクレジットカードの資格情報を、お友達から提供された法的代理人を使用して自分のものに置き換えるのとほぼ同じです。もちろん、Sudo構成により、エスカレートされた特権でsuを実行できると想定しています。

また、Sudoアクセスが事前構成されているシステムでは、通常、rootアカウントが無効になっています(rootパスワードなし)。Sudo suを介してrootになった後、passwdコマンドを使用して有効にすることができます。 。

17
Joseph R.

Sudoは、ユーザー権限を一時的にルートレベルにエスカレートするために使用されますが、su rootは、ユーザーとしてrootを使用して新しいシェルを作成するために使用されます。

3
Dave

これは設定可能*ですが、デフォルトでは、「Sudo」はパスワードを要求します。それはあなたがコーヒーを飲んでいる間に誰かがキーボードを使っているのではなく、それがあなたであることを確認しようとしているだけです。

対照的に、「su root」はrootパスワードを要求します。


*/etc/sudoersのtargetpwがfalse(デフォルト)の場合、「Sudo」はパスワードを要求します。 trueの場合、「Sudo」はrootのパスワードを要求するか、「-u」オプションで他のユーザーを指定した場合はそのユーザーのパスワードを要求します。

2
John1024

この検索を初めて利用する人のために、終了するまでrootに入る簡単な方法があります。

     Sudo -iE

インタラクティブを維持し、環境を維持しますが、今はルートとして。

1
fcm