参考:
https://blog.csdn.net/liberty12345678/article/details/87686284
简单理解ubuntu中的sudo和su
一、简单理解su
su为switch user,即切换用户的简写。
su的两种格式
su -l 用户名(-l为login,即登陆,可省) 切换用户后,同时切换到新用户的工作环境中。su 用户名 切换用户后,不改变原用户的工作目录,及其他环境变量目录。
如果不指定用户名,默认为root
所以切换到root的身份的命令即为:
su(切换用户后,不切换环境)su -(切换用户后,切换环境)su rootsu - rootsu -l root
root用su切换到其它身份的时候是不需要输入密码的
二、简单理解sudo su
sudo允许一个已授权用户以超级用户或者其它用户的角色运行一个命令。(能做什么不能做什么都是通过安全策略来指定的。)
sudo命令参数: -u <用户> 以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份。
所以sudo su就是sudo允许你以root的角色运行su命令,即让你以root的角色执行切换用户的命令,切换到用户root。
以上,能理解的话,就可以退出了,下面用实际操作再解释一下
看下面这个蓝框框,是su命令,因为我还没给root设置密码,所以一直认证失败,即切换到root用户失败
2.红框框里是sudo su命令,切换到root用户成功(sudo命令应该会让输入你自己的密码,我是之前输入过了)
第一,为什么su不可以,而sudo su可以切换root用户呢?
因为不知道root密码,所以不可以切换到root
因为sudo命令先赋予你了root权限,可以运行一条命令,你运行了切换用户的命令,即su,
又因为root用su切换到其它身份的时候是不需要输入密码的,所以可以切换到root
第二,su 退出root时,显示exit
su - 退出root时,显示注销
这些就是是否切换工作环境的区别,可以理解为
.
su 是拥有了root的权限
su - 是切换成root用户
如何设置root初始密码?
sudo passwd
ubuntu进入root权限后如何退出?
Ctrl+D
来源地址:https://blog.csdn.net/tfnmdmx/article/details/129767467