功能说明:变更用户身份。
语 法:su [-flmp][--help][--version][-][-c <指令>][-s ][用户帐号]
补充说明:su可让用户暂时变更登入的身份。变更时须输入所要变更的用户帐号与密码。
参 数:
-c<指令>或--command=<指令> 执行完指定的指令后,即恢复原来的身份。
-f或--fast 适用于csh与tsch,使shell不用去读取启动文件。
-.-l或--login 改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,LOGNAME。此外,也会变更PATH变量。
-m,-p或--preserve-environment 变更身份时,不要变更环境变量。
-s或--shell= 指定要执行的shell。
--help 显示帮助。
--version 显示版本信息。
[用户帐号] 指定要变更的用户。若不指定此参数,则预设变更为root。
简单起见,它的用法还是贴了上来.进入正题:
切换用户身份的两种情况: su username 和 su - username.下面就来说说它们的区别
假设现在以一般用户身份登陆系统,但此又想要查看一下系统网络配置信息,需要切换到root用户.
第一种情况:
$ su root 切换到root用户,系统会提示输入口令,正确后切换成功
$ ifconfig 查看网络配置信息
但会发现,运行完 ifconfig命令后提示: bash: ifconfig: command not found
第二种情况:
$ su - root 切换到root用户,系统会提示输入口令,正确后切换成功([color=red]比上面多了一条横线)[/color]
$ ifconfig 查看网络配置信息
这时就能达到用户真正的目的,查看到网络配置信息.
这是为什么呢?我们都知道,有些命令是只有管理员才能使用的,一般用户没有权限.就像本例中的 ifconfig.用第二种方法切换身份,相当于重新登陆,此时用户的家目录和PATH等信息会发生改变,和直接用root登陆一致;但第一种情况,切换到root身份后用户的家目录和PATH仍然是原先一般用户的家目录和PATH,我们知道,PATH里设置的是一些路径,指向一些目录,这些目录包含着一些常用的工具.如果你的PATH没有设置相应的路径,那么直接运行ifconfig系统肯定会找不到ifconfig工具在哪里.所以会提示:没有这个命令.
熟悉的再巩固一下,呵呵,希望对初学者有帮助!
:0)1
看贴要回!谢谢
[ 本帖最后由 lyq617617 于 2008-7-15 22:55 编辑 ]