【简单理解】ubuntu中的sudo和su

参考:
https://blog.csdn.net/liberty12345678/article/details/87686284

https://cloud.tencent.com/developer/article/1721753

一、简单理解su

1.su为switch user,即切换用户的简写。

2.su的两种格式

su -l 用户名(-l为login,即登陆,可省)      切换用户后,同时切换到新用户的工作环境中。
su 用户名                                                                    切换用户后,不改变原用户的工作目录,及其他环境变量目录。

3.如果不指定用户名,默认为root
所以切换到root的身份的命令即为:

su		(切换用户后,不切换环境)
su -		(切换用户后,切换环境)

su root
su - root
su -l root

4.root用su切换到其它身份的时候是不需要输入密码的

二、简单理解sudo su

1.sudo允许一个已授权用户超级用户或者其它用户的角色运行一个命令。(能做什么不能做什么都是通过安全策略来指定的。)

2.sudo命令参数: -u <用户> 以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份。

3.所以sudo su就是sudo允许你以root的角色运行su命令,即让你以root的角色执行切换用户的命令,切换到用户root





以上,能理解的话,就可以退出了,下面用实际操作再解释一下


1.看下面这个蓝框框,是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

猜你喜欢

转载自blog.csdn.net/tfnmdmx/article/details/129767467
今日推荐