sudo -s 和sudo su 的区别?
在工作中经常会使用sudo -s,但是有些同事又喜欢使用sudo su,很好奇这个区别,现写一篇文章区分一下
sudo -s
和 sudo su
的区别,主要在一下几个方面
1. 权限范围不同
sudo -s
会切换到root
用户,并加载root
用户的环境变量,这会给你提供root
用户的全部权限 (简短来说,就是以root
用户的身份,重新开启一个shell)。sudo su
只是切换到root
用户,不会加载对应的环境变量,你只会获得部分的root
权限。
2. 环境变量不同
sudo -s
会加载root
的环境变量,如PATH
,HOME
等。sudo su
不加载额外的环境变量,环境变量沿用当前用户的设置。
3. root 密码
sudo -s
需要输入当前用户的密码。sudo su
需要输入root
的密码。
4. 配置方式不同
sudo -s
的配置是在/etc/sudoers
文件中。sudo su
的配置是在/etc/passwd
中。
5. 审计记录
sudo -s
的操作记录会记录在/var/log/secure
文件中。sudo su
的操作不会被记录。
总结
sudo -s
提供完整的 root
权限,但需要当前用户密码。
sudo su
提供部分 root
权限,需要知道 root
密码。
日常使用,如果不知道密码,推荐使用 sudo -s
,这个会提供完整权限控制和审计追踪。
如果知道密码,可以使用 sudo su
。
我是Sopp,更多常见小问题总结,请关注公众号Sopp的开发工坊