sudo 用于具有特定选项的命令

sudo 用于具有特定选项的命令

是否可以配置sudo为用户获取 root 权限来运行带有某些特殊开关的程序?例如,如何配置用户仅使用开关和来以 root 身份admin运行命令?netstat-r-i

答案1

编辑 sudores 文件并visudo添加一行(或根据需要添加一行),如我的示例中所示

admin ALL=/bin/netstat -r
admin ALL=/bin/netstat -i

ALL=可以是主机名、IP 或 localhost

sudoers 文件有很好的注释,至少在我的 CentOS 中是这样

答案2

只需将选项添加到命令中即可:

admin       ALL     = NOPASSWD: /usr/bin/netstat -i
admin       ALL     = NOPASSWD: /usr/bin/netstat -r

然后admin就可以运行了sudo netstat -i,但不能sudo netstat等等。

答案3

创建脚本

#!/bin/sh
netstat -i

称之为 supernetstat.sh (不要忘记权限 755,最好是 700)然后你可以在 sudo 上创建一个别名命令并授予用户权限

答案4

sudoers 文件中的这一行适用于允许用户运行 useradd

someuser     ALL=/usr/sbin/useradd * -m

其中*是通配符,还有其他通配符,读取man sudoers

相关内容