【Linux】切换用户 su 和 su - 的区别

前不久才发现切换用户的时候, su 和 su - 效果是不同的。。。

记录一下,
大概就是这样子:

su 后面不加用户是默认切到 root:
相当于: su root

但是: su root 和 su - root 是不一样的
su root 是不改变当前变量,即只获取这个用户的执行权限,但环境变量还是原来用户的环境变量
su - root 是改变为切换到用户的变量,并且环境变量也会切换的。

再举个栗子,
就是,我有一个普通用户,carrot,我在这个用户上配置了 java 的环境变量(并不是系统的环境变量)
然后我用 root 登录,这个时候,root 是用不了java的,它会提示,没有找到指令。

如果执行 su carrot 的话, 它还是没有
如果执行 su - carrot 的话,它就有了。




小记一下

posted @ 2023-02-25 14:31  aaacarrot  阅读(106)  评论(0编辑  收藏  举报