【发布时间】:2015-10-20 04:34:20
【问题描述】:
两个命令:
sudo -i -u username
sudo su - username
如果我输入密码,我将以username 登录。这些命令实际上有什么区别吗?
【问题讨论】:
-
运行
sudo -i -u username并检查您的环境变量,然后运行sudo su - username并检查您的环境变量您应该会看到不同 -
可能这个答案可能对你有一些帮助,我也试图找到相同问题的答案。 askubuntu.com/questions/376199/…
-
还有非常显着的配置变化。如果您使用
sudo su,那么除了sudoers配置之外,您的su的PAM 配置也很重要;如果只使用sudo,那么您只依赖sudo(以及其中包含的所有配置作为参考——它的PAM模块、它的配置等),而另外使用su意味着您依赖在 两个 具有独立行为和配置的工具上(以及将前者配置为允许后者)。 -
有趣的是,我刚刚看到
sudo -i -u someuser没有设置来自/etc/environment的变量但sudo su - someuser设置的情况。 (sudo -i在这个 Ubuntu 14.04 系统上曾经可以工作。)