Centos

使用 sudoers 允許非特權使用者重新啟動 apache

  • May 6, 2019

我們有以 root 身份執行 apache 的生產 centos 伺服器,以允許低埠號(80 和 443)。

我們希望非 root 使用者能夠以一種安全的方式重新啟動 apache。

將這樣的內容添加到 sudoers 文件是否有任何安全隱患…

username    ALL=NOPASSWD:/usr/bin/service apache2 reload

具體來說,我想知道使用者是否有任何方法可以提升他們的權限,或者以某種方式以 root 身份執行其他程序。

假設您想允許屬於使用者組 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 文件中定義命令的完整路徑。

引用自:https://unix.stackexchange.com/questions/291048