sudo命令来自英文词组super user do的缩写,中文译为“超级用户才能干的事”,其功能是授权普通用户执行管理员命令。使用su命令变更用户身份虽然好用,但是需要将管理员的账户密码告诉他人,总感觉心里不踏实,幸好有了sudo服务。
使用sudo服务可以授权某个指定的用户执行某些指定的命令。通过在满足工作需求的前提下尽可能少放权,可保证服务器的安全。配置sudo服务时,可以直接编辑配置文件/etc/sudoers,亦可以执行visudo命令进行设置,一切妥当后普通用户便能够使用sudo命令进行操作了。
语法格式:sudo 参数 命令
常用参数:
-A | 使用图形化界面读取用户密码值 | -p | 设置需要密码验证时的提示语 | |
-b | 将要执行的命令放在后台执行 | -r | 设置新的SELinux映射角色 | |
-E | 保留用户原本的环境变量信息 | -s | 设置默认调用的Shell终端 | |
-h | 显示帮助信息 | -t | 设置新的SELinux安全上下文类型 | |
-H | 将用户的家目录环境变量设置为/root | -u | 设置使用哪位用户的身份执行 | |
-i | 模拟用户的初始登录过程 | -v | 设置需要验证当前用户的密码 | |
-k | 下次强制验证当前用户的密码 | -v | 更新用户的缓存信息,让密码有效期延长5分钟 | |
-K | 删除用户的缓存信息,让密码有效期立即结束 | -V | 显示版本信息 |
参考示例
查看当前用户有哪些被sudo服务授权的命令:
[linuxprobe@linuxcool ~]$ sudo -l
使用某个被sudo服务允许的用户身份来执行管理员的重启命令:
[root@linuxcool ~]# sudo -u linuxprobe "reboot"
使用当前用户身份,基于sudo命令来执行管理员的重启命令:
[root@linuxcool ~]# sudo reboot