En una máquina en particular, a menudo necesito ejecutar sudo
comandos de vez en cuando. Estoy bien con ingresar la contraseña sudo
en la mayoría de los casos.
Sin embargo, hay tres sudo
comandos que quiero ejecutar sin ingresar la contraseña :
sudo reboot
sudo shutdown -r now
sudo shutdown -P now
¿Cómo puedo excluir estos comandos de la protección con contraseña sudo
?
Respuestas:
Usa la
NOPASSWD
directivaPuede usar la
NOPASSWD
directiva en su/etc/sudoers
archivo .Si se llama a su usuario y se llama a
user
su hosthost
, puede agregar estas líneas a/etc/sudoers
:Esto permitirá al usuario
user
ejecutar los comandos deseadoshost
sin ingresar una contraseña. Todos los demássudo
comandos ed aún requerirán una contraseña.Los comandos especificados en el
sudoers
archivo deben estar completamente calificados (es decir, usar la ruta absoluta al comando para ejecutar) como se describe en lasudoers
página del manual . Proporcionar una ruta relativa se considera un error de sintaxis.Si el comando termina con un
/
carácter final y apunta a un directorio, el usuario podrá ejecutar cualquier comando en ese directorio (pero no en ningún subdirectorio). En el siguiente ejemplo, el usuariouser
puede ejecutar cualquier comando en el directorio/home/someuser/bin/
:Nota: Utilice siempre el comando
visudo
para editar elsudoers
archivo para asegurarse de no bloquearse del sistema, en caso de que accidentalmente escriba algo incorrecto en elsudoers
archivo.visudo
guardará el archivo modificado en una ubicación temporal y solo sobrescribirá elsudoers
archivo real si el archivo modificado se puede analizar sin errores.Usar en
/etc/sudoers.d
lugar de modificar/etc/sudoers
Como alternativa a la edición del
/etc/sudoers
archivo, puede agregar las dos líneas a un nuevo archivo, por/etc/sudoers.d
ejemplo/etc/sudoers.d/shutdown
. Esta es una manera elegante de separar diferentes cambios a lossudo
derechos y también deja elsudoers
archivo original intacto para facilitar las actualizaciones.Nota: Nuevamente, debe usar el comando
visudo
para editar el archivo para asegurarse de no bloquearse del sistema:Esto también garantiza automáticamente que el propietario y los permisos del nuevo archivo estén configurados correctamente.
Si
sudoers
está en mal estadoSi no usó
visudo
para editar sus archivos y luego accidentalmente desordenó/etc/sudoers
o desordenó un archivo,/etc/sudoers.d
entonces se lo bloquearásudo
.La solución podría ser arreglar los archivos usando
pkexec
una alternativa asudo
.Para arreglar
/etc/sudoers
:Para arreglar
/etc/sudoers.d/shutdown
:Si la propiedad y / o los permisos son incorrectos para cualquier
sudoers
archivo, el archivo será ignorado porsudo
lo que también podría quedar bloqueado en esta situación. De nuevo, puedes usarpkexec
para arreglar esto.Los permisos correctos deberían ser así:
Úselo
pkexec
así para corregir la propiedad y los permisos :fuente
user
no se le otorgansudo
derechos de otras maneras, este usuario no puede suplantar otros comandos. Echa un vistazo aman sudo
yman sudoers
.mgd ALL=(root) NOPASSWD: /var/root/test
. Soy usuariomgd
yALL
significa "de todos los hosts" ./var/root/test
es un simple script de shell "Hello World" con permisos:-rwx------ 1 root wheel 27 12 Jun 09:54 /var/root/test
. Hice no hay otros cambios en el sistema.host
en el archivo sudoers?Lo siento, pero hay tanta confusión sobre esto y algunas respuestas realmente complicadas, que siento que debo influir aquí antes de que alguien malinterprete y haga algo loco.
Usando visudo !!
Agregue las siguientes líneas a la configuración:
Esto permite que los comandos, reinicio y apagado con cualquier parámetro se ejecuten desde cualquier usuario.
Apila Exchange, solo da respuestas simples y concisas.
fuente