使用sudo为某个用户提权指定命令
我们都知道使用sudo可以切换到管理员用户,但是这样会授予其全部权限,比较危险,能不能只授予其某个权限比如添加用户或者关机命令呢?答案是可以的。
我们可以编辑/etc/sudoer
文件,比如要为masterke添加useradd
的权限,我们在文件中加入一行:
1
masterke ALL=(ALL) NOPASSWD: /usr/sbin/useradd
我们切到masterke用户执行命令:
1
2
3
[masterke@localhost root]$ useradd test
useradd: Permission denied.
useradd:无法锁定 /etc/passwd,请稍后再试。
但是如果这时候我们加入sudo命令在前面的话:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[masterke@localhost root]$ sudo useradd test
我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:
#1) 尊重别人的隐私。
#2) 输入前要先考虑(后果和风险)。
#3) 权力越大,责任越大。
[sudo] masterke 的密码:
[masterke@localhost root]$ exit
exit
[root@localhost ~]# id test
用户id=1003(test) 组id=1003(test) 组=1003(test)
可以看到只需要验证masterke用户的密码即可执行useradd命令,临时提权成功。
本文由作者按照
CC BY 4.0
进行授权