【发布时间】:2013-01-21 11:20:37
【问题描述】:
有人可以解释 su -p (--preserve-environment) 和 su - 在命令行切换用户时的区别吗?
我对“su -”很熟悉,但我不清楚 su -p 有什么不同,如果有的话。
【问题讨论】:
有人可以解释 su -p (--preserve-environment) 和 su - 在命令行切换用户时的区别吗?
我对“su -”很熟悉,但我不清楚 su -p 有什么不同,如果有的话。
【问题讨论】:
正如您在 su 手册页中看到的那样,它说“不要重置环境变量”。
Unix shell 允许您将值存储在变量中。它甚至自己使用它(即 PATH 变量保存可执行文件的位置)。如果您使用 -p ,则保留您的环境变量,而不是从新用户那里获取环境变量。 (但是它们仍然可能被用户拥有的任何 shell 启动脚本覆盖......)
【讨论】:
简单来说:
- using "su" you get SuperUser's rights **and** environment
- using "su -p" you get only SuperUser's rights (the environment stays your own)
【讨论】:
不同之处在于,使用su -p,您可以保留您对原始用户所做的所有个性化设置。例如,您保留您的别名、您的 bashrc、配置文件...
【讨论】: