我的 sudoers 文件中有这条规则
user ALL = (root) NOPASSWD:/usr/bin/supervisorctl
现在我可以不用 root 密码运行该命令。
例如 :
sudo supervisorctl restart all
我的问题是如何在没有 sudo 命令的情况下运行该命令?
supervisorctl restart all
答案1
可以设置位setuid
以使可执行文件以文件所有者的身份运行,而不是以启动命令的用户身份运行。但是,这种方法可能会带来严重的安全隐患。当然,删除运行 sudo 的密码也是如此。
在您当前的情况下,更简单且更安全的方法是创建一个别名:
alias supervisorctl='sudo supervisorctl'
之后supervisorctl
将自动解释为sudo supervisorct