首页 > 代码库 > su命令

su命令

su命令

su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。

语法

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并在执行ls指令后退出变回原使用者:

su -c ls root

变更帐号为root并传入-f选项给新执行的shell:

su root -f

变更帐号为test并改变工作目录至test的家目录:

su - test

总结:

su user1 不加参数“-”还是root的环境变量

su - user1 加参数“-”也切换为user1的环境变量

su - 从普通用户切换到root时,需要输入root密码

有时候只需要用普通用户的身份执行一条命令,可以这样

su - -C "id" user1 需要知道user1的id

su - -C "echo $PATH" user2 需要知道user2的环境变量PATH

su - -C "ehco $PWD" user3 需要知道user3的环境变量PWD

su - -C "mkdir /tmp/newdir" user4 需要在user4的/tmp目录下新建一个目录

su - -C "ls -ld /tmp/" user5 需要查看user5的/tmp/目录本身的信息


su命令