67 votos

Permitir sudo sin contraseña en MacOS

Mi Problema

Me gustaría poder ejecutar comandos sudo en MacOS Sierra 10.12 sin tener que escribir una contraseña.

¿Qué he intentado?

He leído lo siguiente:

Y cambié la parte relevante de mi archivo /etc/sudoers a:

root ALL=(ALL) ALL
%admin  ALL=(ALL) NOPASSWD: ALL
%wheel ALL=(ALL) NOPASSWD: ALL
%wheel ALL=(ALL) NOPASSWD: ALL
%sudo   ALL=(ALL) NOPASSWD: ALL
adamatan ALL=(ALL) NOPASSWD: ALL

Mi identificación de usuario local (whoami) es adamatan.

Sigo teniendo que escribir una contraseña cada pocos minutos al llamar a sudo. ¿Alguna idea de qué está mal?

0 votos

¿Funciona sudo -i en Sierra? En El Cap te cambiará al contexto de root y ejecutará los archivos de recursos de inicio de sesión para esa sesión. (Todavía necesitarás ser sudoers, ¡así que el esfuerzo anterior no será desperdiciado!).

0 votos

Funciona, pero ¿cómo resuelve el problema?

1 votos

Acabo de actualizar recientemente a Sierra y me encontré con esto. El archivo predeterminado /etc/sudoers ha cambiado bastante radicalmente desde El Cap. Allí simplemente dejaba caer un archivo de configuración de una línea en el directorio sudoers.d y "funcionaba". Parece que las cosas han cambiado. Informaré si obtengo más información.

95voto

steoleary Puntos 721

Abre una terminal, ejecuta sudo visudo

Edita la línea:

%admin ALL=(ALL) ALL

Para que diga:

%admin ALL=(ALL) NOPASSWD: ALL

Ahora, deberías ser capaz de ejecutar sudo sin contraseña.

3 votos

Reiniciar no es realmente necesario

1 votos

La clave es usar sudo visudo en lugar de sudo vi /etc/sudoers – especialmente ahora con el sistema de archivos root de solo lectura en MacOS 10.15.

0 votos

Estoy recibiendo "visudo: /etc/sudoers: Operación no permitida" al ejecutar sudo visudo

17voto

kali Puntos 71

Mejor no editar /etc/sudoers directamente. En su lugar, el archivo /etc/sudoers incluye una línea:

## Leer archivos adicionales desde /private/etc/sudoers.d
## (el '#' aquí no indica un comentario)
#incluya /private/etc/sudoers.d

Por lo tanto, simplemente agregue un archivo vacío bajo /private/etc/sudoers.d/mysudo y use visudo para llenarlo con un contenido como:

mylogin            ALL = (ALL) NOPASSWD: ALL

Recuerde siempre ejecutar sudo visudo después de crear el archivo vacío bajo /private/etc/sudoers.d/ para que visudo también revise la sintaxis de ese archivo, o de lo contrario podría terminar con una configuración de sudo rota y la incapacidad de ejecutar visudo para solucionarlo.

Has sido advertido

0 votos

Me vi obligado a hacer esto en la última versión del sistema operativo de Mac, no me permitía actualizar el archivo sudoers, seguía diciendo que era inválido. ¡Gracias!

7voto

Scott Stensland Puntos 106
root ALL=(ALL) ALL
%admin ALL=(ALL) NOPASSWD: ALL

stens ALL = (ALL) NOPASSWD: ALL # mi identificación de usuario es stens

4voto

Danny Puntos 31

Ejecuta el comando del terminal whoami para encontrar tu nombre de usuario (también conocido como ldapname).

> whoami

Sigue ejecutando el comando a continuación (siéntete cómodo usando VI/VIM antes de continuar).

> sudo visudo -f /private/etc/sudoers.d/sudogo

NOTA1: La sintaxis -f te permitirá especificar una ubicación de archivo sudoers alternativa. Con esta opción, visudo editará (o comprobará) el archivo sudoers de tu elección, en lugar del predeterminado, /etc/sudoers. El archivo de bloqueo utilizado es el archivo sudoers especificado con ".tmp" añadido. En modo de solo comprobación, el argumento de -f puede ser -, indicando que se leerá sudoers desde la entrada estándar.

NOTA2/ADVERTENCIA: Podrías haber creado un archivo llamado "nopw" en lugar de sudogo. Sin embargo, los hackers son astutos y buscarán las letras "PW" (abreviatura de contraseña). Siéntete libre de cambiar "sudogo" por algo diferente, lógico y seguro. Ten en cuenta que no se añadió una extensión al final del archivo; No es necesario.

Se muestra un ejemplo a continuación. Activa el modo de inserción con i, copia ambas líneas publicadas a continuación en el archivo en blanco. Sustituye INSERT_USERNAME por ldapname. Presiona escape, guarda y sale del archivo con :wq desde el modo de comando.

# usuario(s) que pueden ejecutar cualquier script en esta máquina
INSERT_USERNAME        ALL = (ALL) NOPASSWD: ALL

Ejecuta sudo visudo (-f y la ruta omitidos) por última vez. El comando abrirá el archivo sudoers y comprobará los cambios. Luego escribe :q! para salir de /etc/sudoers sin guardar cambios.

> sudo visudo

2voto

Sean W. Puntos 169

Intente establecer NOPASSWD en el usuario root. En /etc/sudoers

root            ALL = (ALL) NOPASSWD: ALL

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X