须藤su vs su linux


24

如果su在提示时输入密码to ,则输入密码无效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

Answers:


41

这是因为su询问您要更改为的用户的密码(默认情况下为root),而sudo询问您自己的用户帐户的密码,并检查是否允许运行该命令。

运行时,sudo su您要求sudosuroot用户身份运行命令,从而为您提供root shell。如果仅使用su,则必须知道目标用户的密码才能访问。

使用sudo不带参数表示您要使用root。如果要以其他用户身份执行命令,请尝试sudo -u <username> <command>


7
了解相关命令的另一重要信息sudo su otheruser是,su允许root用户切换到任何用户而无需输入密码,而运行的非root用户su必须输入目标用户的密码。sudo su因此,它su以root身份运行,这使您无需知道其他用户的密码即可获得另一个用户的shell(只要sudoers允许)。
Lie Ryan

那么,我的root密码是“ su”命令的密码吗?在安装开始时设置的密码为什么不是呢?
2013年

因为您的发行版可能没有设置。您可以设置运行的root密码sudo passwd(首先提供您的用户密码,然后选择新的root密码)。
Renan

因此,目前没有密码吗?...基本上,root用户是sudoers可以用来更改root文件的帐户吗?
2013年

不仅如此,还有许多其他服务必须以root用户身份运行(请检查ps aux)。
Renan

17

su代表小号的女巫(或š ubstitute)ü SER。没有给出用户名,它默认切换为root。它提示您输入要切换到的用户的密码。

sudo用于以root用户(即具有root权限)或其他用户身份运行命令。它会提示您输入密码,并检查是否允许您使用sudo。

当您键入时su,您要求切换到root用户,并且所要求的密码是root用户密码。键入时sudo su,您要求执行命令以root 身份切换为root,因此要求输入的密码是您的密码。


1

...并解决无法单独使用'su'的问题,将sudo设置为root shell,并使用'chpass'为root设置密码。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.