由于本人不是专业研究linux系统的,所以理解有限,只能对这些写命令做一些基础层面的解析,请大家见谅。
su :
su就是switch user(切换用户)的简写。
su是最简单的身份切换名,用su我们能够进行不论什么用户的切换,一般都是su - username,然后输入password就ok了,因为root是有最高权限的,所以root用su切换到其它身份的时候是不须要输入password的。
su - :
在用法上同su 一样,但是我平常都会使用这个,因为:(下面是重点,圈起来,要考的)
su只是切换了root身份,不会改变当前工作目录以及home,Shell等等,但是su - 可以连用户和Shell环境一起切换,只有切换了Shell环境才不会出现PATH环境变量错误,报command not found的错误。
sudo :
sudo是一种权限管理机制,默认情况下,系统只有root用户可以执行sudo命令。如果想要其他普通用户执行sudo命令,需要root用户通过使用visudo命令编辑sudo的配置文件/etc/sudoers才行。需要注意的是:sudo需要的不是目标用户的密码,而是执行sudo的用户的密码。
具体关于怎么配置visudo,网址在这 http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/11/11/2245341.html
sudo su :
这个我用的也不多,只知道是运行sudo命令给su命令提权,运行su命令的。