26 votos

Linux: cómo dar a un usuario permiso para reiniciar apache?

Tengo un script que se ejecuta bajo un usuario no-root que, bajo ciertas condiciones, debe reiniciar apache httpd.

¿Cuál sería la forma más sencilla para mí, para permitir al usuario hacer eso?

Estoy usando Ubuntu Server 8.04 LTS.

71voto

epic9x Puntos1020

Respuesta corta:

El uso de visudo, añada lo siguiente a su archivo sudoers, reemplazando el nombre de usuario con el apropiado nombre de usuario:

username ALL = /etc/init.d/apache2 

Si quieres no tener que escribir una contraseña antes de hacer esto, utilice la siguiente:

username ALL = NOPASSWD: /etc/init.d/apache2 

Después de esto, el 'nombre de usuario' usuario puede ejecutar sudo /etc/init.d/apache2 start (o detener, reiniciar,etc)

Respuesta larga: Es probable que usted desee para la instalación de un usuario independiente para esto si no lo has hecho ya, y, a continuación, configurar el archivo /etc/sudoers para permitir a un usuario o grupo para ejecutar el comando que desee.

Por ejemplo, para permitir que el usuario 'ben' para ejecutar todos los comandos como root solicite una contraseña, debe hacer lo siguiente:

ben ALL= ALL

Para permitir 'ben' para ejecutar un comando (como dicen, rm), debe hacer lo siguiente:

ben ALL= /bin/rm 

Si se ejecuta una secuencia de comandos como usuario y no quiere que se pida una contraseña, usted querrá usar el 'NOPASSWD' opción así:

ben ALL=NOPASSWD: /bin/commandname options

Usted puede hacer lo mismo para los grupos con el prefijo de los nombres de grupo con un signo de porcentaje, así:

%supportstaff          ALL= NOPASSWD: /bin/commandname 

1voto

Zayne S Halsall Puntos1230

Respuesta corta: sudo.

La llamada sería similar a la siguiente: sudo /etc/init.d/apache2 restart

Más fácil es utilizar visudo a configurar el archivo /etc/sudoers. Ver man sudoers y man visudo para más detalles.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

;