Re: Iptables con www-data
El Mon, 16 May 2016 13:26:47 +0200, Ni Te escribió:
> Hola, después de dos días mareando la perdiz, no encuentro donde puede estar
> el error.
> Intento ejecutar mediante shell_exec de PHP el comando "sudo iptables -I
> INPUT -s {IP_a_Bloquear} -j DROP". El usuario que se usa (lo e comprobado
> por si acaso) es www-data y está incluido en sudoers de la siguiente forma:
>
> # User alias specification
> User_Alias APACHE = www-data
>
> # Cmnd alias specification
> Cmnd_Alias FIREWALL = /sbin/iptables
>
> # User privilege specification
> root ALL=(ALL:ALL) ALL
> APACHE ALL=(ALL) NOPASSWD: FIREWALL
>
> También e probado a ponerlo todo en la misma línea, pero hace lo mismo (Nada
> de nada), desde la consola se ejecuta sin problemas (claro está con root)
¿Y ejecutado desde la consola con sudo funciona?
> y desde PHP también se ejecutan sin problemas otros como "ifconfig" o hacerle
> un whois al mismo IP.
> La versión de SO es: debian-8.4.0-amd64.
> ¿Alguna sugerencia de donde seguir buscando el problema?
El error podría estar en sudo o en shell_exec(). Para el primero tendrás
los registros de error en /var/log/auth.log (o en el journal de systemd)
y para depurar el segundo en los registros de apache. revisa ambos por si
te dieran alguna pista del origen del problema.
Un par de guías:
PHP executing external commands - how to when username and password
required
http://stackoverflow.com/questions/25644066/php-executing-external-commands-how-to-when-username-and-password-required
Execute system commands via PHP
https://exain.wordpress.com/2007/11/24/execute-system-commands-via-php/
Saludos,
--
Camaleón
Reply to: