如果我在提示时输入密码su
,它不起作用,而sudo su
可以。此外,当使用执行命令时sudo (command)
,sudo 是否会默认自动以 root 身份执行该命令(因为手册页说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
答案1
这是因为它会su
要求您输入要更改为的用户的密码(默认情况下为 root),同时还会sudo
要求您输入自己的用户帐户的密码并检查您是否被允许运行该命令。
运行时,sudo su
系统要求您以 root 身份sudo
运行该命令su
,这样您便拥有 root shell。如果您只使用 root 用户,su
则必须知道目标用户的密码才能访问。
使用sudo
不带参数意味着您要使用 root。如果您想以其他用户身份执行该命令,请尝试sudo -u <username> <command>
答案2
su
代表s女巫(或s替代)你ser。如果没有提供用户名,则默认切换到 root。它会提示您输入要切换到的用户的密码。
sudo
用于以 root(即具有 root 权限)或其他用户身份运行命令。它会提示您输入密码,并检查您是否可以使用 sudo。
当你输入 时su
,系统会要求你切换到 root 用户,输入的密码是 root 密码。当你输入 时sudo su
,系统会要求你执行切换到 root 的命令以 root 身份,因此要求输入的密码是您的。
答案3
...为了解决无法单独使用“su”的问题,请使用 sudo 进入 root shell,并使用“chpass”为 root 设置密码。