1 votos

Directorios de propiedad del usuario 501 después de migrar entre MacBooks y cambiar de usuarios

Configuré un nuevo Macbook utilizando el asistente de migración. Como quería mantener el nombre de mi directorio de usuario en la máquina antigua, y esto estaba asociado a una cuenta que migré como parte del proceso, hice algunos cambios de nombre en los directorios de usuario para que mi nuevo usuario principal terminara con el nombre del directorio del usuario antiguo. Después de eso, eliminé la cuenta que había migrado. Esto parece haber creado un poco de caos en la propiedad de directorios, como se muestra en un pequeño ejemplo aquí (solo un ejemplo aleatorio de una ubicación con exactamente tres directorios que demuestran los tres estados existentes en mi sistema):

 cd /opt
 ls -l
total 0
drwxr-xr-x   9 root      wheel   288  3 nov  2016 X11
drwxr-xr-x  33   admin  1056 17 sep 18:20 homebrew
drwxr-xr-x   3 501       staff    96 22 ene  2017 homebrew-cask

root:wheel parece ser el valor predeterminado.

Cambié manualmente el directorio homebrew a mi usuario actual hoy, ya que Homebrew estaba teniendo algunos problemas y este directorio también pertenecía anteriormente a 501:staff.

La última línea muestra el caso en el que quedan directorios con 501:staff. Después de una investigación inicial, me parece que estos son directorios que habrían sido migrados de mi antiguo Macbook, donde aún pertenecían a la cuenta de administrador principal allí. Después de eliminar ese usuario (ver introducción arriba), fueron asignados a 501:staff.

  1. ¿Es correcta esta comprensión?
  2. ¿Cómo se debería manejar este estado para asegurar una configuración adecuada para el nuevo sistema? Espero más problemas en el futuro cuando el sistema quiera hacer modificaciones en estas ubicaciones. ¿Existe una forma segura de cambiar toda la propiedad de estos directorios?

También estoy un poco confundido por el hecho de que no puedo encontrar ni ni 501 en /etc/passwd. (¿Debería?)

1voto

Nate Puntos 220

Presumiblemente, cuando realizaste la migración, la cuenta migrada se creó con el número de ID de usuario 501, y los archivos migrados se asignaron a ese usuario. Cuando eliminaste la cuenta, los archivos quedaron huérfanos: en el volumen, aparecen como propiedad del uid #501, pero eso ya no corresponde a ninguna cuenta existente, por lo que ls muestra simplemente el número de uid en bruto.

Puedes transferir la propiedad de cualquier archivo dentro de un directorio que todavía estén asignados al uid huérfano a tu nueva cuenta con:

sudo find -x /opt -uid 501 -exec chown tunuevousuario {} +

(Después de reemplazar tunuevousuario con tu nombre de usuario real, eso sí.)

-x para evitar que accidentalmente se desmadre). Esto es preferible a simplemente usar chown -R ya que cambiaría la propiedad de todo, incluidos archivos que deberían ser propiedad de root, etc. También, puedes reemplazar /opt con cualquier otro directorio que desees escanear en búsqueda de archivos huérfanos.

En cuanto a /etc/passwd: macOS no lo utiliza, excepto muy al principio del proceso de arranque; después de eso usa la base de datos de "servicios de directorio", que es completamente separada. Puedes buscar usuarios con el comando id (o si quieres dedicar un tiempo a leer páginas de manual, dscacheutil o dscl).

Por cierto, puedes usar ls -ln para ver los IDs numéricos de usuario (y de grupo) listados para todos los archivos, incluidos los de cuentas que existen. Si lo hubieras ejecutado en ese mismo directorio (antes de hacer cualquier cambio), habría lucido así:

❯ ls -ln
total 0
drwxr-xr-x   9 0    0    288  3 Nov  2016 X11
drwxr-xr-x  33 502  80  1056 17 Sep 18:20 homebrew
drwxr-xr-x   3 501  20    96 22 Jan  2017 homebrew-cask

Donde el uid #502 es tu nuevo uid de cuenta de usuario, el uid #0 es root, y 0, 20, y 80 son los IDs de grupo de wheel, staff y admin respectivamente.

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