명령줄을 사용하여 Sudo Apache를 사용하시나요? (비수도 아님)

명령줄을 사용하여 Sudo Apache를 사용하시나요? (비수도 아님)

/etc/sudoersvisudo를 다음과 같이 편집했습니다.

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.dsudoers 파일 자체를 편집하는 대신 파일을 해당 파일로 드래그할 수 있습니다 .

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

관련 정보