Respuestas:
Respuesta corta:
Utilizando visudo
, agregue lo siguiente a su archivo sudoers, reemplazando el nombre de usuario con el nombre de usuario apropiado:
username ALL = /etc/init.d/apache2
Si desea no tener que escribir una contraseña antes de hacer esto, use lo siguiente:
username ALL = NOPASSWD: /etc/init.d/apache2
Después de esto, el usuario 'nombre de usuario' puede ejecutar sudo /etc/init.d/apache2 start
(o detener, reiniciar, etc.)
Respuesta larga: es probable que desee configurar un usuario separado para esto si aún no lo ha hecho, y luego configurar el archivo / etc / sudoers para permitir que un usuario o grupo ejecute el comando que desea.
Por ejemplo, para permitir que el usuario 'ben' ejecute todos los comandos como root solicitando una contraseña, debe hacer lo siguiente:
ben ALL= ALL
Para permitir que 'ben' ejecute solo un comando (como say, rm
), debe hacer lo siguiente:
ben ALL= /bin/rm
Si está ejecutando un script como usuario y no desea solicitar una contraseña, deberá usar la opción 'NOPASSWD' de esta manera:
ben ALL=NOPASSWD: /bin/commandname options
Puede hacer lo mismo para los grupos con el prefijo de los nombres de los grupos con un signo de porcentaje, así:
%supportstaff ALL= NOPASSWD: /bin/commandname
visudo
comando realiza comprobaciones de seguridad en sus ediciones para que no rompa el comando sudo
/ su
por accidente: unix.stackexchange.com/a/27595/61349
Respuesta corta: sudo.
La llamada sería similar a la siguiente: sudo /etc/init.d/apache2 restart
Lo más fácil es usarlo visudo
para configurar el archivo / etc / sudoers. Ver man sudoers
y man visudo
para más detalles.
También puede lograr esto escribiendo un contenedor en apache2ctl, asignando la propiedad del grupo a un grupo de administración web y configurando el bit suid. Esta es una solución menos general que visudo, pero permite limitaciones personalizadas en las capacidades del usuario y la verificación de errores.
Escribí esta herramienta para mis propias necesidades y la he compartido en github: https://github.com/josiahjohnston/ltd_apache2ctl
username
puede restringir a un subconjunto de parámetros? Decirstart
restart
pero nostop
?