在 shell 会话状态下,使用 su 命令将允许你假定为另一个用户的身份,既可以以这个用户的 ID 来启动一个新的 shell 会话,也可以以这个用户的身份来发布一个命令。
命令格式
su [OPTION]... [-] [USER [ARG]...]
命令参数
-, -l, --login
得到的 shell 会话界面将是用于指定用户的登录 shell(login shell)界面。这意味着,该指定用户的运行环境将被加载,且其工作目录也将更改为指定用户的主目录。
-c, --command=COMMAND
使用 su 命令执行单个命令,而不需要开启一个新的交互式命令界面。
--session-command=COMMAND
使用 su 命令执行单个命令,而不需要开启一个新的交互式命令界面且不创建一个新的会话。
-f, --fast
传递 -f 选项给 shell(针对 csh 或 tcsh)。
-m, --preserve-environment
不重置环境变量。
-p
与 -m 选项相同。
-s, --shell=SHELL
如果 /etc/shells 允许,允许 SHELL。
--help
显示帮助信息。
--version
显示版本信息。
实例
a) 以超级用户的身份启动 shell。
[huey@huey-K42JE ~]$ su - Password: [root@huey-K42JE ~]# exit logout [huey@huey-K42JE ~]$
b) 以超级用户的身份运行命令。
[huey@huey-K42JE ~]$ su -c 'ls -l /root'