4 votos

¿Cómo puedo solucionar este problema de permisos sudo - UID 503, debería ser 0 - El Capitan

Siempre que intento cualquier sudo en el terminal, recibo el siguiente mensaje de error:

sudo: /etc/sudoers is owned by uid 503, should be 0
sudo: no valid sudoers sources found, quitting

He intentado entrar en el modo de usuario único y escribir los siguientes comandos:

mount -uw

chown /private/etc/sudoers 0

Después de escribir la línea de propiedad chown, me aparece un mensaje de error que dice "nombre de usuario ilegal".

Otras cosas que he probado:

  • Reinstalación del OS X (El Capitan)
  • Desactivación de la protección de la integridad del sistema (SIP).
  • Llamando a Apple Care que dice que sudo Los comandos se han desactivado en El Capitán.
  • Entrando en el modo de usuario único y escribiendo el siguiente código:
    chown root:wheel /private/etc/sudoers Esto produjo el mensaje de error "Operación no permitida" en mis cuentas Standard, Admin y Root. El mensaje de error "Sistema de archivos de sólo lectura" apareció cuando inicié la sesión en modo de usuario único.

FYI

Cuando corro ls -la /private/etc/sudoers en el Terminal, obtengo lo siguiente:

-rw-r-----@ 1 MY-ADMIN-USERNAME staff 67 18 Feb 14:03 /private/etc/sudoers

Nota: he sustituido mi nombre de usuario real de administrador por "MI NOMBRE DE ADMINISTRADOR" para que sepas lo que se muestra.

Necesito sudo comandos para trabajar por una serie de razones, una de las cuales es conseguir que CrashPlan funcione.

Mi hardware es un iMac 2010, 3.2GHZ, 16GB de Ram y 500GB de SSD que fue instalado hace aproximadamente un año.

Estos problemas sólo han surgido con El Capitán. No los tuve en el pasado con Yosemite.

Mirando en Internet, puedo ver que mucha gente ha tenido problemas similares, pero las resoluciones lamentablemente no han funcionado para mí.

0 votos

chown /private/etc/sudoers 0 debe ser chown root /private/etc/sudoers

2voto

klanomath Puntos 19587

Intente reparar su archivo sudoers desde el modo de recuperación:

  • Arranque en modo de recuperación pulsando cmdR durante el arranque.

  • Abrir Terminal desde la barra de menús -> Utilidades

  • Entre en cd "/Volumes/main_volume_name/private/etc" . Sustituir main_volume_name por el nombre del volumen principal real (comprobar diskutil list ), mantenga los espacios y los caracteres en mayúsculas y minúsculas tal como están. Si usas comillas como en el comando aquí, no tienes que escapar los espacios con un \

  • Entre en chmod 440 sudoers

  • Entre en chown root:wheel sudoers

  • Compruebe el archivo con cat sudoers . El valor por defecto sudoers debería tener este aspecto:

    ## sudoers file.
    ##
    ## This file MUST be edited with the 'visudo' command as root.
    ## Failure to use 'visudo' may result in syntax or file permission errors
    ## that prevent sudo from running.
    ##
    ## See the sudoers man page for the details on how to write a sudoers file.
    ##
    
    ##
    ## Host alias specification
    ##
    ## Groups of machines. These may include host names (optionally with wildcards),
    ## IP addresses, network numbers or netgroups.
    # Host_Alias    WEBSERVERS = www1, www2, www3
    
    ##
    ## User alias specification
    ##
    ## Groups of users.  These may consist of user names, uids, Unix groups,
    ## or netgroups.
    # User_Alias    ADMINS = millert, dowdy, mikef
    
    ##
    ## Cmnd alias specification
    ##
    ## Groups of commands.  Often used to group related commands together.
    # Cmnd_Alias    PROCESSES = /usr/bin/nice, /bin/kill, /usr/bin/renice, \
    #               /usr/bin/pkill, /usr/bin/top
    
    ##
    ## Defaults specification
    ##
    
    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"
    
    Defaults    lecture_file = "/etc/sudo_lecture"
    
    ##
    ## Runas alias specification
    ##
    
    ##
    ## User privilege specification
    ##
    root ALL=(ALL) ALL
    %admin  ALL=(ALL) ALL
    
    ## Uncomment to allow members of group wheel to execute any command
    # %wheel ALL=(ALL) ALL
    
    ## Same thing without a password
    # %wheel ALL=(ALL) NOPASSWD: ALL
    
    ## Uncomment to allow members of group sudo to execute any command
    # %sudo ALL=(ALL) ALL
    
    ## Uncomment to allow any user to run sudo if they know the password
    ## of the user they are running the command as (root by default).
    # Defaults targetpw  # Ask for the password of the target user
    # ALL ALL=(ALL) ALL  # WARNING: only use this together with 'Defaults targetpw'
    
    ## Read drop-in files from /private/etc/sudoers.d
    ## (the '#' here does not indicate a comment)
    #includedir /private/etc/sudoers.d

    Como su archivo sudoers es muy pequeño (67 bytes) es probable que le falte parte o todo el contenido. Puede que tengas que añadir/reemplazar al menos las líneas sin un "#" previo:

    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"
    
    Defaults    lecture_file = "/etc/sudo_lecture"

    y

    root ALL=(ALL) ALL
    %admin  ALL=(ALL) ALL

    con:

    /Volumes/main_volume_name/usr/bin/nano /Volumes/main_volume_name/private/etc/sudoers

    Finalmente, el archivo debe tener al menos el siguiente contenido:

    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"
    
    Defaults    lecture_file = "/etc/sudo_lecture"
    
    root ALL=(ALL) ALL
    %admin  ALL=(ALL) ALL

    El archivo requiere una línea vacía al final. (Por favor, no copie simplemente lo anterior porque la última línea aquí no contiene una nueva línea sino un espacio de ancho cero)

  • Arranque en su volumen principal e inicie sesión como administrador

  • Entre en sudo xattr -c /etc/sudoers para eliminar los atributos (falsos).

  • Restaurar la totalidad de sudoers archivo con sudo visudo /etc/sudoers editando en el valor por defecto anterior sudoers' contenido

  • Finalmente la información del archivo debería revelar lo siguiente:

    host:~ adminuser$ ls -laO /etc/sudoers
    -r--r-----  1 root  wheel  compressed 2299 31 Jul  2015 /etc/sudoers

    Sin embargo, no hay que comprimirlo y la fecha será obviamente diferente.

0 votos

Cuando introduzco el código que has sugerido en el modo de recuperación, me aparece el mensaje "/Volúmenes/nombre_de_volúmenes_principales/privados/etc: No such file or directory"

0 votos

@ Klanomath - Mi volumen principal se llama "Macintosh SSD" y después de introducir el código, me sale el siguiente mensaje de error - "/Volumes/macintoshssd/private/etc: No such file or directory" También he probado variaciones poniendo un espacio entre macintosh y ssd y usando un guión bajo entre ellos, y me sale el mismo mensaje de error.

0 votos

Gracias. Así que el código ha sido aceptado, sin embargo cuando escribo "Cat Sudoers", lo único que aparece es "2" en la línea siguiente y ningún otro texto.

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