“su -”和“su root”有什么区别?

“su -”和“su root”有什么区别?

可能的重复:
为什么我们使用su - 而不仅仅是su?

我明白这个根不必是超级用户。但如果是的话...sudo su -和 和有什么区别sudo su root

答案1

这里有两个问题:

  • su - username和之间的区别su username

如果指定-(或),则模拟真实登录。除了一些选择变量(特别是在某些系统上)之外,环境已清除。否则,除了重置之外,环境将保持原样。-lsuTERMDISPLAYXAUTHORITYPATH

  • 不传递用户名和指定用户名之间的区别root

这可能取决于系统。在 Linux 上使用shadow作为提供的包su,如果未指定用户名,则su首先尝试查看用户是否rootpasswd条目。如果是的话,它就会使用它。如果没有,它会尝试uid0。

不确定其他类 Unix 操作系统。

答案2

su -切换到超级用户并设置环境,使其看起来像是直接登录的。su root切换到名为 root 的用户并模拟直接登录。

如果超级用户名为 root,则susu root是等效的(并且不模拟直接登录),就像su -su - root(确实如此)。

相关内容