sudo 命令与权限配置讲解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wanglei_storage/article/details/73065238

sudo命令用来以其他身份来执行命令,预设的身份为root。在/etc/sudoers中设置了可执行sudo指令的用户。若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。

sudo命令的配置文件位于 /etc/sudoers
当然也可以将不同的用户以不同文件进行分别配置sudo权限,这样便于批量控制 /etc/sudoers.d/user

我分别拿几个配置来进行讲解

1、给用户分配sudo权限

下面的一行配置是说,配置用户wanglei的sudo权限
1、第一个ALL代表可以执行sudo命令的主机(这里表示任何主机)
2、第二个ALL表示执行sudo的时候以哪个用户的身份执行(这里表示任何用户)
3、第三个ALL表示sudo可以执行的命令(ALL表示所有)

wanglei   ALL=(ALL) ALL

2、给用户组分配sudo权限

下面的一行配置是说,配置用户组sudo的sudo权限
至于哪些用户可以执行权限,则可以grep sudo /etc/group进行查看,用户只要被添加进改组,即可执行
1、ubuntu-1代表只有在主机ubuntu-1上面可以执行后面配置的sudo权限
2、(ALL)表示执行sudo的时候以哪个用户的身份执行(这里表示任何用户)
3、ALL表示sudo可以执行的命令(ALL表示所有)

%sudo   ubuntu-1=(ALL) ALL

3、给用户test分配sudo权限,不输入密码即可执行sudo权限,并且限制可以执行的命令

下面的一行配置是说,配置用户test的sudo权限
1、第一个ALL代表可以执行sudo命令的主机(这里表示任何主机)
2、第二个ALL表示执行sudo的时候以哪个用户的身份执行(这里表示任何用户)
3、NOPASSWD:/bin/systemctl,/usr/bin/touch表示用户可以通过sudo来执行定义的两条命令,那么它不仅可以重启服务,而且也可以touch在任何目录下创建文件

test   ALL=(ALL) NOPASSWD:/bin/systemctl,/usr/bin/touch

或者
test   ALL=(ALL) NOPASSWD:ALL
展开阅读全文

没有更多推荐了,返回首页