sudo -s 和sudo su 的区别

sudo -s 和sudo su 的区别? 在工作中经常会使用sudo -s,但是有些同事又喜欢使用sudo su,很好奇这个区别,现写一篇文章区分一下 sudo -s 和 sudo su 的区别,主要在一下几个方面 1. 权限范围不同 sudo -s 会切换到 root 用户,并加载 root 用

sudo -s 和sudo su 的区别?

在工作中经常会使用sudo -s,但是有些同事又喜欢使用sudo su,很好奇这个区别,现写一篇文章区分一下

sudo -ssudo su 的区别,主要在一下几个方面

1. 权限范围不同

  • sudo -s 会切换到 root 用户,并加载 root 用户的环境变量,这会给你提供 root 用户的全部权限 (简短来说,就是以root用户的身份,重新开启一个shell)。
  • sudo su 只是切换到 root 用户,不会加载对应的环境变量,你只会获得部分的 root 权限。

2. 环境变量不同

  • sudo -s 会加载 root 的环境变量,如 PATHHOME 等。
  • 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的开发工坊

LICENSED UNDER CC BY-NC-SA 4.0
Comment