El usuario que usa Apache en Linux es www-data, entonces necesitaremos decir al sistema que este usuario puede ejecutar sudo, incluo le podemos especificar los comandos.
Esto lo haremos en el archivo /etc/sudoers, deberemos añadir al final esta línea:
www-data ALL=NOPASSWD: ALL
Y ya podremos ejecutar un script con comandos sudo, en mi caso:
shell_exec("./scripts/creaUbuntu.sh");
La idea la he sacado, tras muchas vueltas, de aquí.
Os dejo como queda mi /etc/sudoers.
También deberemos de dar permisos a todos los scripts que se ejecutan y no son creados por www-data.
1 comentario:
Muchisimas gracias! He solucionado mi problema con esto!
Publicar un comentario