sudo su vs su linux

agz*_*agz 23 linux sudo bsd su macos

如果我在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
Run Code Online (Sandbox Code Playgroud)

Ren*_*nan 40

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

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

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

  • 理解相关命令 `sudo su otheruser` 的另一重要信息是 `su` 允许 root 无需输入密码即可切换到任何用户,而运行 `su` 的非 root 用户必须输入目标用户的密码。密码。`sudo su` 因此以 root 身份运行 `su`,这允许您在不知道密码的情况下为另一个用户获取 shell(只要 sudoers 允许)。 (7认同)

For*_*ntr 18

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

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

当您键入 时su,您要求切换到 root,并且请求的密码是 root 密码。当您键入 时sudo su,您要求执行命令以作为 root切换到root,因此要求的密码是您的。