2014年3月28日星期五

Linux_020:su - [用户名]与su [用户名]的区别

在《如何让普通用户有sudo的权限》中介绍了sudo的用法,实际操作中,还会经常用到另外两个命令:su - [用户名]与su [用户名]。

1. su - [用户名]
比如:su - redhat 表示当执行这个命令的时候切换到redhat用户,并且重新读取用户环境相关配置文件,具体的来说就是执行下用户Home目录下.bash_profile和.bashrc文件,这个我们成为全切换,比如输入pwd,会发现已经是redhat用户的Home目录。
注意,如果只输入 su -,即相当于su - root。

2. su [用户名]
比如:su  redhat 当执行这个命令的时候表示切换到 redhat 用户,但是不读取以上两个文件,所以我们一般称它为半切换,这样切换过去之后,redhat 用户使用的依旧是此前用户的环境配置信息,比如输入 pwd,会发现还是原来用户的 Home 目录。

这两个命令都需要输入被切换用户的口令(如果是从 root 用户切换则不需要),这里就是redhat 用户的口令。
这一点是和 sudo 命令的区别。

参考文献:
1. http://blog.chinaunix.net/uid-24648486-id-3031852.html
2. http://xinchibaobei.blog.163.com/blog/static/12639250920097251498572/

没有评论: