我们有生产 CentOS 服务器,以 root 身份运行 apache,以允许低端口号(80 和 443)。
我们希望非 root 用户能够以安全的方式重新启动 apache。
将这样的内容添加到 sudoers 文件中是否存在任何安全隐患......
username ALL=NOPASSWD:/usr/bin/service apache2 reload
具体来说,我想知道用户是否有任何方法可以提升其权限,或者以某种方式以 root 身份运行其他程序。
答案1
假设您希望允许属于 users2 组的用户进行一些特权控制,apache
但不授予他们 root 权限。
添加/etc/sudoers
%users2 keep ALL=NOPASSWD: /sbin/service httpd,/etc/init.d/httpd,/usr/sbin/apache2ctl
如果你只是想让他们重新启动,apache
那就是:
%users2 ALL=NOPASSWD: /sbin/service httpd restart,/etc/init.d/httpd restart,/usr/sbin/apache2ctl restart
用户将能够查看允许他们使用哪些命令sudo
:
sudo -l
要重新启动 Apache,他们必须准确地拼写出允许运行该命令的命令,例如:
sudo /sbin/service httpd restart
出于安全原因,建议在 sudoers 文件中定义命令的完整路径。