sudo su - username 跟 sudo su username 有什么不同的地方,之前使用后一种进入用户后会存在部分环境变量未加载的情况,原因是什么?
1
Beavan 2017-06-29 11:14:14 +08:00
没有- 虽然切换了用户,但一些环境变量还是用的切换用户的环境变量,不属于完整切换。
加上- 完整切换,对应的环境变量也切换为对应用户身边。 |
2
besto 2017-06-29 11:19:59 +08:00
man su:
-, -l, --login Provide an environment similar to what the user would expect had the user logged in directly. When - is used, it must be specified before any username. For portability it is recommended to use it as last option, before any username. The other forms (-l and --login) do not have this restriction. |
4
zent00 2017-06-29 11:50:58 +08:00
一句话简单概括,login shell 和 non-login shell 的差异,前者会切换用户身份并加载目标用户的环境变量,后者只是切换身份到目标用户。
|
5
GGGG430 2017-06-29 14:23:18 +08:00
google: suid,sgid
|