关于su user和su - user的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于su user和su - user的区别相关的知识,希望对你有一定的参考价值。

网上有一个已经写得比较清楚的了,自己也按照作者的思路试验过,这里直接粘贴过来:

 

1.su user

 

仅仅是切换用户user,切换之后,user的默认目录并不是/home/user路径,例如:

 

[[email protected] ~]# ls
anaconda-ks.cfg  Desktop  install.log  install.log.syslog
[[email protected] ~]# pwd
/root                         --root用户当前路径
[[email protected] ~]# su oracle
[[email protected] root]$ pwd
/root                         --切换用户oracle之后,还是保持root用户的路径
[[email protected] root]$
 

 

2.su - user

 

su - user 实际上就是 su -l user.

 

此时切换用户之后,就好像重新以该user登录一样,大部分的环境变量都以该user为主,工作的路径也会相应的改变,而且改变PATH变量。

 

例如

 

[[email protected] ~]# pwd
/root                             --root用户当前路径
[[email protected] ~]# su - oracle
[[email protected] ~]$ pwd
/home/oracle                      --切换用户oracle之后,oracle自己的home路径
[[email protected] ~]$
 
再举一个例子,更明显:
[[email protected] root]$ su            --用su切换到root用户
Password: 
[[email protected] ~]# ifconfig           --查看网络配置
bash: ifconfig: command not found   --结果显示没有找到该命令
[[email protected] ~]# su - root          --用su - 切换到root用户
[[email protected] ~]# ifconfig           --查看网络配置,命令正常运行
 
总的来讲,su - user是真正的在该用户下进行的操作。(不知这样理解有没有问题,如果我理解错了的话欢迎批评指正)
 

 

以上是关于关于su user和su - user的区别的主要内容,如果未能解决你的问题,请参考以下文章

linux su(switch user)和sudo(superuser do)的区别?(sudo su与su的区别)

Linux 系统中用户切换(su user与 su - user 的区别)

Linux 系统中用户切换(su user与 su - user 的区别)

Linux 系统中用户切换(su user与 su - user 的区别)

linux中su与sudo的区别

被问su 和sudo的区别?当场吓尿了