Excelente, pero ahora reflexiona sobre éste asunto:
Acabas de dar permiso a TODOS los usuarios para ejecutar algo como si fuesen superusuarios. Quizás tu sistema ahora tenga tan sólo 2 o 3 usuarios, pero el día de mañana igual añades un usuario que no quieras que tenga ese privilegio... ¿Recordarás ese día modificar ésta configuración?
Puedes restringir un poco el asunto, por ejemplo, cambiando el segundo "ALL" por "localhost" restringirás el privilegio a tan solo los usuarios logueados localmente y no remotamente. (tal vez no te interese, sólo tú lo sabes). Quedaría así:
Código:
ALL localhost= NOPASSWD: /ruta/completa/a/tu/script
También puedes restringir la cosa un poco más, haciendo que sólo disfruten del privilegio los usuarios que pertenezcan a un grupo determinado, por ejemplo, "autorizados", quedaría así:
Código:
%autorizados ALL= NOPASSWD: /ruta/completa/a/tu/script
Y, por supuesto, puedes restringir el privilegio a un sólo usuario (de nombre, por ejemplo, "autorizado") haciendo que la línea sea:
Código:
autorizado ALL= NOPASSWD: /ruta/completa/a/tu/script
Y, como no, puedes combinar ambas cosas:
Código:
### Restringir el privilegio a usuarios del grupo "autorizados" logueados localmente:
%autorizados localhost= NOPASSWD: /ruta/completa/a/tu/script
### Restringir el privilegio al usuario "autorizado" logueado localmente:
autorizado localhost= NOPASSWD: /ruta/completa/a/tu/script
Vaya rollazo, ¿eh? Pero realmente el fichero /etc/sudoers no es ningún juego, es una cosa muy seria y vale la pena tomarse un tiempo para su configuración.
Saludos.
PD: ¡Ah! Y por supuesto /etc/sudoers no tiene por qué ocupar sólo una línea, puedes definir normas nuevas en cuantas líneas desees/necesites.
PD2: Si quieres que el usuario esté obligado a escribir su contraseña (la suya, no la de root) al ejecutar un script, cambia NOPASSWD por PASSWD. Parece una tontería a primera vista, pero imagina que tu usuario hace una pausa para ir al baño y un compañero malévolo toma el control de la máquina en su ausencia.