17 votos

Sudo: /etc/sudoers está propiedad del uid 501, debería ser 0

Para ejecutar programas como sudo sin contraseña, edité /etc/sudoers con un contenido incorrecto.

Luego lo volví a editar con el editor de texto predeterminado de Mac (por supuesto, sudo no se puede utilizar cuando /etc/sudoers está incorrecto).

Intenté ejecutar sudo de nuevo y obtuve este error:

sudo: /etc/sudoers es propiedad de uid 501, debería ser 0
sudo: no se encontraron fuentes de sudoers válidas, saliendo

¿Qué debo hacer? No puedo recordar la contraseña de root (tal vez nunca he establecido la contraseña de root antes).

21voto

Nate Puntos 220

Puedes solucionar esto a través de AppleScript, sin necesidad de reiniciar, cerrar sesión o abrir una sesión con la root, o... Todo lo que necesitas es una contraseña de administrador válida.

Ejecuta este comando:

osascript -e 'do shell script "chown root:wheel /etc/sudoers; chmod 440 /etc/sudoers; chmod -N /etc/sudoers" with administrator privileges'

...y luego autentica como administrador cuando se te solicite.

Explicación: esto es un poco indirecto. Utiliza el comando de shell osascript para ejecutar un corto AppleScript que usa el comando do shell script para ejecutar un corto script de shell. La razón de la secuencia shell->AppleScript->shell es utilizar la opción with administrator privileges, que tiene prácticamente el mismo efecto que sudo pero funcionará incluso si /etc/sudoers está completamente desconfigurado.

1 votos

Esta me funciona mejor :)

0 votos

¡¡¡Funcionó como un encanto para mí!!!

0 votos

Esto me ayudó hoy

19voto

Puedes arrancar en modo de usuario único presionando Cmd-S al iniciar (consulta OS X: Cómo iniciar en modo de usuario único o en modo detallado para más detalles) lo cual debería darte acceso a una shell de root. Luego ejecuta

mount -uw /
chown root:wheel /etc/sudoers
chmod 440 /etc/sudoers
reboot

para solucionar el problema y reiniciar.

8voto

Graham Puntos 71

Para macOS Mojave, esto es lo que me funcionó:

  1. Inicie en modo de recuperación (Cmd+R durante el arranque)
  2. Utilidades de disco > Seleccione Macintosh HD y Montar
  3. Cierre Utilidades de disco
  4. Utilidades > Terminal
  5. Escriba: chown root:wheel "/Volumes/Macintosh HD/etc/sudoers"
  6. Reinicie

También puede ser necesario cambiar la propiedad de ts, nuevamente en el Terminal:

sudo su
sudo chown -R root:wheel /var/db/sudo/ts/

2 votos

¿Por qué reinicias la máquina después? Y además, ¿por qué haces sudo su?

6voto

yoliho Puntos 340

Yosemite y versiones anteriores de OSX guardan información sobre qué permisos deben tener los archivos del sistema (es decir, los archivos que instala el sistema operativo). Documento de Apple

Para restaurar esto, utiliza Disk Utility.app.
Selecciona el volumen de arranque (por defecto llamado Macintosh HD) en el lado izquierdo.
Haz clic en Verificar o Reparar Permisos del Disco - este último reaplicará los permisos almacenados.

Para editar sudoers en el futuro, usaría visudo, que comprueba si la edición es válida

Respecto a la contraseña de root, es probable que no la hayas establecido antes - la idea de sudo es que nunca la necesites usar y Apple deshabilita el inicio de sesión de root de forma predeterminada

6voto

klanomath Puntos 19587
  1. Abre Directorio de usuarios (/System/Library/CoreServices/).

  2. Haz clic en el icono de bloqueo para desbloquearlo, luego ingresa tu nombre de administrador y contraseña.

  3. Haz una de las siguientes opciones:

    • Selecciona Editar > Habilitar usuario root, luego ingresa una contraseña de usuario root en los campos Contraseña y Verificar.
    • Selecciona Editar > Cambiar contraseña de root, luego ingresa una nueva contraseña de usuario root. No necesitas una contraseña antigua
  4. Inicia sesión como Root

  5. Modifica sudoers con visudo como se indica en el archivo:

    El archivo original se ve así:

    # archivo sudoers.
    #
    # Este archivo DEBE ser editado con el comando 'visudo' como root.
    # Si no se utiliza 'visudo' puede resultar en errores de sintaxis o permisos de archivo
    # que impiden que sudo se ejecute.
    #
    # Consulta la página del manual de sudoers para obtener detalles sobre cómo escribir un archivo sudoers.
    #
    
    # Especificaciones de alias de host
    
    # Especificaciones de alias de usuario
    
    # Especificaciones de alias de comando
    
    # Especificaciones predeterminadas
    Defaults    env_reset
    Defaults    env_keep += "BLOCKSIZE"
    Defaults    env_keep += "COLORFGBG COLORTERM"
    Defaults    env_keep += "__CF_USER_TEXT_ENCODING"
    Defaults    env_keep += "CHARSET LANG LANGUAGE LC_ALL LC_COLLATE LC_CTYPE"
    Defaults    env_keep += "LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME"
    Defaults    env_keep += "LINES COLUMNS"
    Defaults    env_keep += "LSCOLORS"
    Defaults    env_keep += "SSH_AUTH_SOCK"
    Defaults    env_keep += "TZ"
    Defaults    env_keep += "DISPLAY XAUTHORIZATION XAUTHORITY"
    Defaults    env_keep += "EDITOR VISUAL"
    Defaults    env_keep += "HOME MAIL"
    
    # Especificación de privilegios de usuario
    root    ALL=(ALL) ALL
    %admin  ALL=(ALL) ALL
    
    # Comentar para permitir que las personas del grupo wheel ejecuten todos los comandos
    # %wheel    ALL=(ALL) ALL
    
    # Lo mismo sin contraseña
    # %wheel    ALL=(ALL) NOPASSWD: ALL
    
    # Ejemplos
    # %users  ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
    # %users  localhost=/sbin/shutdown -h now

    Información:

    machine:~ usuario$ ls -l /private/etc/sudoers 
    -r--r-----  1 root  wheel  1275 13 Jun  2012 /private/etc/sudoers

    Usar visudo para modificar el archivo corrige los permisos de archivo automáticamente

  6. Desactiva nuevamente el usuario root.

0 votos

Si encuentras que no puedes editar el archivo a través de la línea de comandos, ábrelo usando una aplicación GUI como TextEdit. Eso evitará la configuración corrupta de sudo.

0 votos

Esto funcionó para mí después de corromper el archivo sudoers en Big Sur después de actualizar. ¡Gracias!

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