我希望普通用户能够在系统中执行 apachectl。这将是他们在正常权限之外可以做的唯一事情。我所做的是在 sudoers 文件底部添加此行:
sampleuser ALL=(root) NOEXEC:/usr/sbin/apachectl
因此,作为用户 sampleuser,我执行了apachectl
命令,并收到此错误:
sudo apachectl stop [sudo] password for sampleuser: /usr/sbin/apachectl: line 105: /usr/sbin/httpd: Permission denied
现在看来权限在 /usr/sbin/httpd 命令中,因为apachectl
脚本调用了该可执行文件。所以我在 sudoers 文件中又添加了一行:
sampleuser ALL=(root) NOEXEC:/usr/sbin/httpd
现在我执行了相同的命令,但出现了相同的错误:
sudo apachectl start [sudo] password for sampleuser: /usr/sbin/apachectl: line 105: /usr/sbin/httpd: Permission denied
我现在的问题是,是否有办法解决这个问题,而不需要编辑 apachectl 脚本文件或其他方法,这可能比我尝试做的更容易。
谢谢。