sudo su -
将提升任何用户(sudoer)的root
权限。
su - anotheruser
会切换到目标用户的用户环境,具有目标用户权限
这是什么sudo su - username
意思?
答案1
只是重复 @dr01 和 @OneK 的答案,因为它们都缺少一些细节:
su - username
- 要求系统为指定用户启动新的登录会话。系统将要求用户“用户名”的密码(即使它与当前用户相同)。sudo su - username
也会做同样的事情,但首先要求系统提升到超级用户模式,之后su
不会询问“用户名”的密码,因为超级用户可以在不知道密码的情况下更改为任何其他用户。话虽这么说,sudo
它本身通过检查/etc/sudoers
文件来确保当前用户有权获得超级用户权限,并可能验证当前的用户的密码。
我还想评论一下,要获得超级用户登录会话,请使用sudo -i
(或sudo -s
),因为sudo su -
这很愚蠢:它要求sudo
授予超级用户权限,su
以便su
可以为超级用户启动登录 shell - 何时sudo
可以实现相同的目标结果本身更好。
答案2
拥有超级用户权限,sudo su - username
将让您登录(在登录 shell 中)而不$username
要求输入密码,同时su - username
会要求输入$username
.
答案3
sudo su - username
与 执行相同的操作su - username
:运行登录 shell 作为username
.
su - username
以 root 身份运行并且sudo su - username
不需要知道用户名的密码(因为它们以提升的权限运行),而su - username
以普通用户身份运行则需要知道它。