在 Linux 中,以 su 身份工作与以 root 身份工作是否相同?

Yar*_*rin 5 linux root

我认为将 su 用作普通用户会使您暂时成为 root,但是遇到了一个问题,当我尝试使用 su 执行 usermod 时出现“bash: usermod: command not found”,而当我以身份登录时该命令肯定存在根。

超级用户和 root 是不同的东西吗?如果是这样,我应该注意哪些限制?

Dav*_*d Z 12

“超级用户”和“root”之间没有区别。但问题是,su(我相信它实际上代表“切换用户”)并不能完全模拟您直接以 root 身份登录时获得的环境。例如,通常当您运行 时su,当前shell 中的环境变量会转移到您以root 身份登录的子shell 中。(除了PATH;有关详细信息,请参阅手册页

要解决此问题,您可以使用-l(或--login) 选项 to su,这将尝试复制您实际以 root 身份登录时将获得的环境。

  • +1,正确答案。我通常只使用破折号:`su -`。检查您的 su 手册页以验证 `su -` 和 `su -l` 在您的系统上的行为是否相同。 (10认同)
  • +1 用于切换用户。没有多少人记得它可以用于任何用户名,如果你在车轮上。 (3认同)