/etc/sudoers
visudoを次のように編集しました。
User_Alias APACHE = www-data
Cmnd_Alias FIREWALL = /sbin/iptables, /sbin/ifconfig, /sbin/route
APACHE ALL = (ALL) NOPASSWD: FIREWALL
(phpでcmdを実行することを許可するiptables
)
ターミナル/tty/cmdline AND/ORルートを使用して同じ効果を得る方法はありますか?シェルスクリプト?
答え1
確かに。/etc/sudoers.d
sudoersファイル自体を編集する代わりに、ファイルをそのファイルにドラッグできます。
cat > /etc/sudoers.d/apache <<EOF
User_Alias APACHE = www-data
Cmnd_Alias FIREWALL = /sbin/iptables, /sbin/ifconfig, /sbin/route
APACHE ALL = (ALL) NOPASSWD: FIREWALL
EOF
chmod 440 /etc/sudoers.d/apache
sudo
ディレクトリをサポートしていない非常に古いディレクトリに閉じ込められている場合は、sudoers.d
次のように接続できます/etc/sudoers
。
if ! grep -q APACHE /etc/sudoers; then
cat >> /etc/sudoers <<EOF
User_Alias APACHE = www-data
Cmnd_Alias FIREWALL = /sbin/iptables, /sbin/ifconfig, /sbin/route
APACHE ALL = (ALL) NOPASSWD: FIREWALL
EOF
fi
(if ! grep -q ...
スクリプトを複数回実行すると、複数の接続を防ぐことができます)