su的原理是输对方密码进行认证切换,可切换到任意用户

而sudo认证逻辑是root有一个可切换清单,而我在清单内,那么我要证明我是我就可以切换,所以输当前用户密码切换用户,而且通过sudo只能切换到root

1.su切换用户

su 用户名:输将要切换用户的密码(切后是原来的终端环境)
su - 用户名 :切完终端环境也换
切换root时,root 可省略不输,直接su或者su -,再输root用户的密码

2.sudo 切换用户

切换输当前用户密码,只能切换到root用户

sudo 命令:可不切换用户用root权限执行一条命令
sudo -s :切到root后终端环境没变


sudo -i :环境也变了(切换的更彻底)

3.若出现sudo切换失败的情况,修改配置文件

如上图无法切换的情况,要在root用户下修改配置文件

vi /etc/sudoers
如下图:添加 rc ALL=(ALL:ALL) ALL(给用户rc添加sudo权限)
或者在%sudo下添加 %rc(用户所在组名) ALL=(ALL:ALL) ALL (给组内用户添加sudo权限)

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐