web-dev-qa-db-ja.com

sudoersを使用して非特権ユーザーがApacheを再起動できるようにする

低いポート番号(80と443)を許可するためにrootとしてApacheを実行する本番centosサーバーがあります。

非rootユーザーがApacheを再起動するための安全な方法が欲しいです。

このようなものをsudoersファイルに追加すると、セキュリティに影響がありますか?.

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

具体的には、ユーザーが自分の特権を昇格したり、どういうわけかrootとして他のプログラムを実行したりする方法があるかどうかを知りたいです。

7
user1751825

たとえば、users2グループに所属するユーザーに、root権限を与えずにApacheに対する特権制御を許可したいとします。

追加 /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ファイルでコマンドのフルパスを定義することをお勧めします。

12
Rui F Ribeiro