Linux命令 - su命令

Linux命令 - su命令

  su是swith user的缩写,在Linux中 su 命令可让用户暂时变更登入的身份,除 root 外变更时须输入所要变更的用户帐号与密码。

1.语法:

su [参数] [-] [用户帐号]

2.功能:

  变更用户身份,若不指定用户帐号,则预设变更为root。

3.参数:
-c<指令>或--command=<指令>  执行完指定的指令后,即恢复原来的身份。 
-f或--fast  适用于csh与tsch,使shell不用去读取启动文件。 
--l或--login  改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,LOGNAME。此外,也会变更PATH变量。  
-m,-p或--preserve-environment  变更身份时,不要变更环境变量。 
-s--shell=  指定要执行的shell(bash csh tcsh 等),预设值为 /etc/passwd 内的该使用者(USER) shell。
4.常用范例:

例一:变更帐号为 root 并在执行 ls 指令后退出变回原使用者

命令:su -c ls root

  变更帐号为 root 并在执行 ls 指令后退出变回原使用者。

[root@localhost ~]# su -c ls root
公共  视频  文档  音乐	anaconda-ks.cfg
模板  图片  下载  桌面	initial-setup-ks.cfg

例二:切换用户

命令: su root

  testuser切换成root,相当于用户改成root但是操作的是testuser环境
  小权限切换大权限要求输入密码;大权限切换小权限不需要输入密码。
  切换用户,只能获得用户的执行权限,不能获得环境变量。

[testuser@localhost ~]$ whoami //显示当前用户
testuser
[testuser@localhost ~]$ pwd //显示当前目录
/home/testuser
[testuser@localhost ~]$ su root //切换到root用户
密码:
[root@localhost testuser]# whoami
root
[root@localhost testuser]# pwd
/home/testuser

例三:切换用户,改变环境变量

命令:su - root

  testuser切换成root,相当于用户改成root,操作的是root环境。即变更帐号为 root 并改变工作目录至 root 的家目录。
  切换到用户并获得该用户的环境变量及执行权限。

[testuser@localhost ~]$ whoami
testuser
[testuser@localhost ~]$ pwd
/home/testuser
[testuser@localhost ~]$ su - root
密码:
[root@localhost ~]# whoami
root
[root@localhost ~]# pwd
/root

你可能感兴趣的:(Linux)