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
sudo su otheruser
ことsu
ができる一方で、実行する非rootユーザーsu
はターゲットユーザーのパスワードを入力する必要があるということです。sudo su
したがってsu
、rootとして実行され、パスワードを知らなくても別のユーザーのシェルを取得できます(sudoersで許可されている場合)。