修改sudo权限的文件在下面这里,记得给予写权限
chmod +w /etc/sudoers
vim /etc/sudoers
我设置了一组命令叫做 USERCMD (名字随便起),只能用sudo执行cp命令,不能用sudo执行kill命令,并且免密使用sudo (下面示例是test用户),加 ! 表示不能执行哪些命令,见下面框框里
其实只要你不写 /usr/bin/ 这样的命令给用户使用(因为代表 /usr/bin/ 下所有命令),不加 ! 也没事,另外,sudoers 是从后往前进行检测的(后面的优先级判定高),也就是 ! 这种命令要放后面
还有就是支持正则 比如 : /usr/bin/cp ~/* /home ,这样的命令,但是正则不能写 " ,只能斜杠转义空格,见
linux - How to let the user execute a command containing quotes in sudoers? - Server Fault
Cmnd_Alias 相当于是设置命令组,可以设置多个,用的时候可以用逗号分隔
Cmnd_Alias USERCMD=/usr/bin/cp,!/usr/bin/kill
# Cmnd_Alias TESTCMD=/usr/bin/cp,!/usr/bin/kill
test ALL=(ALL) NOPASSWD: USERCMD
# test ALL=(ALL) NOPASSWD: USERCMD,TESTCMD
如果想直接给予root同等权限,建议
test ALL=(ALL) NOPASSWD: ALL
详细还是参考