3 votos

Recuperar el acceso a root - High Sierra

He instalado la actualización de seguridad 2020-001 para High Sierra. Como resultado de esto, ya no puedo utilizar sudo . Sólo sale con el mensaje

sudo: 4294967295: invalid value

Según lo solicitado, aquí están los dos id resultados:

> id $(whoami)
uid=501(my_username) gid=20(staff) groups=20(staff),12(everyone),
    61(localaccounts),79(_appserverusr),80(admin),81(_appserveradm),
    98(_lpadmin),701(com.apple.sharepoint.group.1),33(_appstore),
    100(_lpoperator),204(_developer),250(_analyticsusers),395(com.apple.access_ftp),
    398(com.apple.access_screensharing),399(com.apple.access_ssh)

> id root
uid=0(root) gid=0(wheel) groups=0(wheel),4294967295(nogroup)

El culpable parece ser que Root está en el nogroup grupo que tiene una identificación "no válida".

Echando un vistazo a /etc/group el grupo tiene un id de -1 .

> grep nogroup /etc/group 
nogroup:*:-1:

Descubrí cómo listar las membresías de los grupos en MacOS:

> dscl . read /Groups/nogroup
AppleMetaNodeLocation: /Local/Default
GeneratedUID: ABCDEFAB-CDEF-ABCD-EFAB-CDEFFFFFFFFF
Password: *
PrimaryGroupID: -1
RealName:
 No Group
RecordName: nogroup
RecordType: dsRecTypeStandard:Groups

El grupo no tiene miembros. Y parece que no puedo encontrar el root usuario en este sistema:

> dscl . read /Users/root
<dscl_cmd> DS Error: -14136 (eDSRecordNotFound)

Nueva pregunta: ¿Cómo puedo eliminar root de la nogroup ?

4voto

rollstuhlfahrer Puntos 118

Al tratar de habilitar el usuario Root, obtuve el error

dsenableroot:: ***Failed to enable root user.

Así que investigué y descubrí gracias a una respuesta a ¿Por qué dsenableroot NO funciona en un servidor OSX 10.7.5? que tenía que comprobar mi usuario Root en el archivo /private/var/db/dslocal/nodes/Default/users/root.plist .

Lamentablemente, el archivo había desaparecido. Y esta era la causa principal del problema: no tenía un root usuario. Después de copiarlo desde otra instalación de MacOS,

  • sudo empezó a trabajar de nuevo
  • id ya no mostraba la afiliación a nogroup
  • el comando dscl . read /Users/root dijo que finalmente encontró un usuario
  • y pude encontrar root en el buscador de directorios

2voto

klanomath Puntos 19587

En mi opinión, esto está relacionado con que Root sea miembro de No hay grupo (nogroup, groupids: 4294967295 y -1!).

Mi usuario Root estaba habilitado antes de ejecutar la actualización de seguridad 2020-001 para High Sierra. No he encontrado este problema.

Su pregunta y los detalles adicionales sugieren que su usuario Root no estaba habilitado.

Para seguir los pasos que se indican a continuación, es probable que tenga que habilitar root primero en Utilidad de directorios > Editar > Habilitar el usuario root.

Para eliminar Root del grupo No hay grupo tienes que abrir la Utilidad de Directorios y desbloquearla:

enter image description here

Pulse el Editor de directorios y navegue hasta Grupos en el nodo /Local/Defecto

Elija No hay grupo y eliminar Root de GroupMembership y FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000000 (= Root) de GroupMembers.

enter image description here

No es necesario reiniciar.


He probado esto al revés, añadiendo Root/FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000000 a los respectivos atributos.

Al ser Root miembro de No hay grupo Obtengo el siguiente resultado ejecutando algunos sudo ... comando:

host:~ user$ sudo ls
sudo: 4294967295,701,33,98,100,204,250,395,398,399: invalid value

Después de eliminar Root de No hay grupo sudo ... funciona como se esperaba.

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