是否可以配置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