sudo su vs su linux


24

suプロンプトが表示されたらパスワードを入力すると、動作しますが動作しsudo suません。また、を使用してコマンドが実行されるとsudo (command)、sudoはデフォルトでrootによって自動的に実行します(manページにはsudo, sudoedit - execute a command as another user

michaelxu@michaelxu-server:~$ su
Password:
su: Authentication failure
michaelxu@michaelxu-server:~$ sudo su
[sudo] password for michaelxu:
root@michaelxu-server:/home/michaelxu# exit

回答:


41

これsuは、変更するユーザー(デフォルトではroot)sudoのパスワードを要求する一方で、自分のユーザーアカウントのパスワードを要求し、コマンドの実行が許可されているかどうかを確認するためです。

あなたが実行するとsudo su、あなたが求めているsudoコマンドを実行するためにsuあなたにrootシェルを与えるルート、と。のみsuを使用している場合、アクセスするにはターゲットユーザーのパスワードを知っている必要があります。

使用するsudoパラメータを指定せずにすると、ルートを使用することを意味します。別のユーザーとしてコマンドを実行する場合は、試してくださいsudo -u <username> <command>


7
関連コマンドを理解するためのもう1つの重要な情報は、rootがパスワードを入力せずに任意のユーザーに切り替えるsudo su otheruserことsuができる一方で、実行する非rootユーザーsuはターゲットユーザーのパスワードを入力する必要があるということです。sudo suしたがってsu、rootとして実行され、パスワードを知らなくても別のユーザーのシェルを取得できます(sudoersで許可されている場合)。
ライライアン

それでは、「su」コマンドのrootパスワードは何でしょうか?インストールの最初に設定したパスワードではないのはなぜですか?
agz

あなたのディストリビューションはおそらくそれを設定しなかったからです。実行中のルートパスワードを設定できますsudo passwd(最初にユーザーパスワードを入力してから、新しいルートパスワードを選択します)。
レナン

では、現時点ではパスワードはありませんか?
agz

それだけでなく、ルートとして実行する必要がある他の多くのサービスがあります(チェックps aux)。
レナン

17

su略で、Sの魔女(またはS ubstitute)のU SER。ユーザー名が指定されていない場合、デフォルトでルートに切り替えられます。切り替え先のユーザーのパスワードの入力を求められます。

sudorootとして(つまり、root権限で)コマンドを実行するため、または他のユーザーとして使用します。パスワードの入力を求められ、sudoの使用が許可されていることを確認します。

su入力すると、rootに切り替えるように求められ、要求されるパスワードはrootパスワードです。を入力sudo suすると、コマンドを実行してroot としてrootに切り替えるように求められるため、求められるパスワードは自分のものです。


1

...また、 'su'を単独で使用できないという問題を修正し、rootシェルにsudoを実行し、 'chpass'を使用してrootのパスワードを設定します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.