细节:Linux下 su命令切换用户的玄机

       Linux环境下,切换用户操作在所难免,但是如果不了解清楚切换的小细节,有可能我们会遇到这样的情况,用户是切换成功了,但是会出现一些莫名其妙的情况,比如:有些命令用不了,但是如果直接用目标用户登录的话,却又是可以的 ,这是为什么呢?主要还是因为我们想使用的命令所在的路径,不在相关的PATH环境变量里,那为什么会有这样的情况呢?下边就举例说下两种不同切换用户方式的差别。

       比如:我们当前是普通user1用户,需要切换到普通user2用户,两种操作方式如下:

      1) 执行 su user2 ,然后输入user2密码即可。(使用部分命令可能会有问题)

      2) 执行 su - user2 , 然后输入user2密码即可,这时就可以像直接登录user2一样。

两者差别在于命令是否包含 - ,有-,且- 后必须指定用户名,提供一个类似于用户直接登录的环境,相当于环境变量也切换了。具体如何选择,要看我们的需要,灵活使用。

      

你可能感兴趣的:(linux)