一、问题场景
问题:reboot、shutdown、init、halt、user管理,在普通用户身份上都是操作不了的,但是又写特殊的情况下又需要有执行权限,又不能让root用户吧自己的密码告诉普通用户,这个问题该怎么解决?
该问题是可以被解决的,可以使用sudo(switch user do)命令来进行权限设置。sodu可以让管理员(root)事先定义某些特殊命令谁可以执行。
二、sudo配置文件描述
默认sudo中是没有除root之外用户的规则,要想使用则先配置sudo。
sudo配置文件位置:/etc/sudoers
三、sudo配置操作
1、简要说明
1、配置sudo文件需使用“visudo”命令,打开/etc/sudoers文件之后其使用方法和vi/vim命令一致。
2、用户权限说明,如下:
root 表示用户名,如果是用户组,则可以写成“%组名” ALL 表示允许登录的主机(地址白名单) (ALL) 表示以谁的身份去执行,ALL表示root身份 ALL 表示当前用户可以执行的命令,多个命令可以使用","分割
2、配置操作
注意:在写sudo规则的时候不建议写直接形式的命令,而是写命令的完整路径,路径可以使用which命令来查看 语法:#which 指令名称
案例1:本身xiaohemiao用户不能添加用户,要求使用sudo配置,将其设置为可以添加用户,并且可以修改密码。
步骤一、查看命令所在的路径
步骤二、给xiaohemiao用户设置添加用户和修改密码的权限
步骤三、验证xiaohemiao权限(下图只是说明了添加用户的操作,修改密码的操作同理)