Linux系统中直接使用命令切换用户 ,具体使用方法
1、首先介绍su
该命令可以在任意普通用户之间切换,su 命令的一般格式
su - username
注:- 意思在切换时系统环境变量也会跟随到切换的用户下
参数 | 说明 |
-c | 指令执行完成返回到原先用户 |
-l (类似 -) | 切换用户时同时切换到相应的工作目录,环境变量也发生变化 |
-m -p | 切换用户时不改变环境变量 |
-s | 执行指定的Shell |
1、操作不改变用户环境
2、改变用户环境
sudo命令:
su命令使用方便,该命令切换时需要用户密码因此安全有风险,在不使用su的请况下用户如何提升权限,Linux提供了sudo命令
命令格式 sudo [选项] -u 用户 [命令]
sudo 命令常用选项
选项 | 说明 |
-b | 在后台执行命令 |
-h | 显示帮助 |
-H |
将HOME环境变量设置为新的HOME环境变量 |
-k | 结束密码的有效期限 |
-l | 列出目前用户可执行与无法执行的命令 |
-p | 改变询问密码的提示符号 |
-s | 执行指定的Shell |
-u | 指定用户作为新的身份,即切换到指定的用户,默认root |
sudoers文件有语法规范,不建议直接使用vi,Linux中通常使用visudo命令打开sudoers文件并进行编辑 打开/etc/sudoers
权限设置语句格式 账户名 主机名称=(可切换身份) 可执行的命令
sudo执行流程
当用户使用sudo命令时,系统会首先在/etc/sudoers文件中查找该用户是否有执行sudo的权限:若有权限,则提示用户输入自己的密码;否则给出错误提示。若密码匹配成功,则执行sudo后待执行的命令。
另外,若符合以下几种情况,可以不用输入密码
当前用户为root用户;
切换的用户为当前用户;
当被设置为无须提供密码便可使用sudo 时。