我以为以普通用户身份使用 su 可以让您暂时获得 root 身份,但是遇到了一个问题,当我尝试使用 su 执行 usermod 时,出现“bash:usermod:未找到命令”,而当我以 root 身份登录时,该命令肯定存在。
超级用户和 root 是不同的吗?如果是,我应该注意哪些限制?
答案1
“超级用户”和“root”之间没有区别。但问题是,su
(我认为它实际上代表“切换用户”)并不完全模拟您直接以 root 身份登录时获得的环境。例如,通常当您运行 时su
,当前 shell 中的环境变量会被转移到您以 root 身份登录的子 shell 中。(除了PATH
;请参阅手册页了解详情)
为了解决这个问题,您可以使用-l
(或--login
)选项su
,它将尝试复制您以 root 身份登录时获得的环境。