/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 ...
스크립트를 여러 번 실행하면 다중 연결이 방지될 수 있습니다)