[ubuntu-bo] Ejecutando comando Linux con php
Mario César Señoranis Ayala
mariocesar.c50 en gmail.com
Mar Ago 17 14:23:39 BST 2010
El 16/08/10 19:20, diego ibanez escribió:
>
> Necesito reiniciar el servicio desde php, ya he intentado con:
> squid -k reconfigure
> No me da error utilizando esta línea de comando, pero no surte efecto
> al probar. Lo pruebo desde la terminal de ubuntu y recien surte
> efecto, probando desde los errores de squid modificando texto por ejemplo.
>
> No se donde puede estar mi error, tal vez sea de permiso, si alguien
> me puede ayudar por favor o una guía al respecto.
>
> muchisimas Gracias para todos.
>
> Atte.
> Diego Ibañez
Depende de que distro estés usando, yo ejecuto scripts de servicios
desde el usuario www-data, usando el archivo /etc/sudoers
Mira, por ejemplo en ubuntu si el usuario 'admin' tiene permisos de
administrador y ejecuta:
$ /etc/init.d/apache2 restart
Se le niega los permisos, pero si funciona si:
$ sudo /etc/init.d/apache2 restart
la dificultad, es que sudo pregunta por el password. y por lo menos yo
no se como enviarle la contraseña, y si lo hiciera seria muy mala idea ;)
Si ejecutas $ sudo visudo -f sudoers, o editas directamente $ sudo vim
/etc/sudoers
añades una linea que tal vez parezca:
www-data www-data = NOPASSWD: /etc/init.d/apache2
Estas estableciendo, que www-data puede ejecutar el script
/etc/init.d/apache2 y no es necesario preguntarle el password.
Bibliografía
- Iniciación de sudo para bisoños -
http://bulma.net/body.phtml?nIdNoticia=1779
-
http://stackoverflow.com/questions/2060168/php-run-linux-command-as-sudo
- Manual Visudo - http://www.rpublica.net/sudo/visudo.html
- Sudoers Manual Page - http://www.sudo.ws/sudo/sudoers.man.html
--
Mario César Señoranis Ayala
http://www.noentrar.net
http://twitter.com/mariocesar_bo
http://facebook.com/mariocesar
Más información sobre la lista de distribución Ubuntu-bo