00. 目录
01. 命令概述
su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。
普通用户切换到root用户,可以使用su – 或su root,但是必须输入root密码才能完成切换。root用户切换到普通用户,可以使用su username,不需要输入任何密码即可完成切换。
02. 命令格式
su [选项] [-] [USER [参数]...]
03. 常用选项
修改有效用户标识和组标识为USER的.
-, -l, --login
使得shell为可登录的shell
-c, --commmand=COMMAND
传递单个COMMAND给-c的shell.
-f, --fast
传递-f给shell(针对csh或tcsh)
-m, --preserve-environment
不重置环境变量
-p 与-m同
-s, --shell=SHELL
如果/etc/shells允许,运行SHELL.
--help 显示帮助并退出
--version
输出版本信息并退出
单一的-意味着-l.如果没有给定USER,则假定为root.
04. 参考示例
4.1 切换到root,不切换环境
[deng@itcast ~]$ su
密码:
[root@itcast deng]#
只是切换了root身份,但Shell环境仍然是普通用户的Shell
4.2 切换到root,同时切换环境
[deng@itcast ~]$ su - root
密码:
上一次登录:六 8月 3 15:46:25 CST 2019pts/2 上
[root@itcast ~]#
用户和Shell环境一起切换成root身份
4.3 切换到指定用户
[deng@itcast ~]$ su itcast
密码:
[itcast@itcast deng]$
环境变量仍然是deng用户的。
4.4 切换到指定用户,并且改变用户环境变量
[deng@itcast ~]$ su - itcast
密码:
上一次登录:六 8月 3 15:49:14 CST 2019pts/2 上
[itcast@itcast ~]$
4.5 切换用户执行命令,执行后返回原用户
[itcast@itcast ~]$ su -c ls root
密码:
password test 公共 模板 视频 图片 文档 下载 音乐 桌面
4.6 不切换成 root,但是执行lastb命令
[itcast@itcast ~]$ su - root -c lastb
密码:
root pts/2 Sat Aug 3 15:52 - 15:52 (00:00)
root pts/1 Fri Aug 2 21:00 - 21:00 (00:00)
root pts/1 Thu Aug 1 21:27 - 21:27 (00:00)
btmp begins Thu Aug 1 21:27:11 2019
[itcast@itcast ~]$
4.7 变更帐号为 root 并传入 -f 参数给新执行的 shell
[itcast@itcast ~]$ su -f root
密码:
[root@itcast itcast]#