su=switch user 切换用户
sudo=super user do 采用超级用户操作
su 命令切换用户,需要输入切换后目标用户的密码,如果是从root用户进行切换,默认不需要输入密码
sudo 命令切换用户时需要当前用户的密码,在执行这个命令时,指的是暂时切换到超级用户模式下采用超级用户权限执行命令,一般指的是root用户,提示输入密码时也是当前用户的密码,不是超级用户的密码
sudo su <user>
sudo su 命令和su命令相似,都是用来切换用户的
sudo su 的含义是采用root权限运行su命令,既然是用root权限运行su命令,那么就不需要输入切换后目标用户的密码
但是sudo命令运行有限制,取决于你当前的用户在/etc/sudoers 文件中的配置,如果当前用户在sudoers文件中没有配置,那么sudo这个命令是无法使用的
xxx is not in the sudoers file. This incident will be reported.
如果你想从普通用户切换到root用户
su root 或者 su - 此时你必须输入root用户的密码
还可以使用
sudo su 这个命令,直接输入当前用的的密码即可切换到root用户。并且如果你的sudo设置不需要输入密码,就直接切换到root用户了
就安全而言,sudo 命令更好。例如,考虑到需要 root 访问权限的多用户使用的计算机。在这种情况下,使用 su 意味着需要与其他用户共享 root 用户密码,这显然不是一种好习惯。
此外,如果要撤销特定用户的超级用户/root 用户的访问权限,唯一的办法就是更改 root 密码,然后再告知所有其他用户新的 root 密码。
而使用 sudo 命令就不一样了,你可以很好的处理以上的两种情况。鉴于 sudo 命令要求输入的是其他用户自己的密码,所以,不需要共享 root 密码。同时,想要阻止特定用户访问 root 权限,只需要调整 sudoers 文件中的相应配置即可。
sudo -i
这个命令是为了频繁的执行某些只有超级用户才能执行的权限,而不用每次输入密码,可以直接使用该命令,没有时间限制。执行该命令后提示符变为“#”而不是“$”