¿Cómo encuentro mi ID de usuario y grupo en Mac OS X?

59

Intentando ejecutar este compand en la terminal:

sudo chown -R yourid:yourgroup local

Sin embargo, no tengo idea de cuál es mi identificación y mi grupo, o dónde encontrarlos. ¿Algunas ideas?

Starkers
fuente

Respuestas:

61

En OS X, su grupo principal siempre es a staffmenos que usted o su administrador de directorio de usuarios lo hayan cambiado.

¿Qué es un grupo primario ? El grupo principal de un usuario es, de forma predeterminada, el propietario de todos los archivos creados por ese usuario.


Para los fines de chmodsu computadora, puede usar su ID de usuario numérico (por ejemplo, 501) o su nombre de cuenta (por ejemplo danielbeck). Este último es diferente del nombre de usuario que suele ver en la interfaz de usuario (por ejemplo, Daniel Beck ).

Puede determinar su nombre de cuenta utilizando cualquiera de los siguientes:

  • Es el nombre de su directorio de inicio (a menos que lo haya personalizado) en el título o la barra lateral de Finder

  • Ejecutar whoamien la Terminal, por lo que chown -R $(whoami):staffdebería ser suficiente. También puede obtener su grupo principal con groups $(whoami) | cut -d' ' -f1.

  • Abra Preferencias del sistema »Usuarios y grupos , desbloquee el panel si es necesario, haga clic con el botón derecho en su nombre de usuario (la entrada de la lista única en la sección Usuario actual ) y seleccione Opciones avanzadas… . Es el campo Nombre de la cuenta en la ventana de diálogo recién abierta. Este cuadro de diálogo también le muestra su grupo principal.

  • Ejecute iden la Terminal para obtener una salida más detallada. Esto incluirá su ID de usuario numérico. También enumerará todos los grupos de los que eres miembro, no solo tu grupo principal. El primer grupo es el primario.

Daniel Beck
fuente
3
En lugar de usar whoami, puede usar idun oneliner que sea compatible con shells posix y csh. chown -R `id -u`:`id -g` FOLDER
fd0
Si usa la autenticación LDAP, su nombre de usuario no será necesariamente staff. No en mi trabajo Mac OS X de todos modos.
Sridhar Sarnobat
1
@ Sridhar-Sarnobat Abordo esto en la segunda mitad de la primera oración de mi respuesta.
Daniel Beck
42

Usa el idcomando desde la terminal. Mostrará su uid y los grupos a los que pertenece. Por ejemplo, aquí está mi salida que muestra mi identificación de usuario (534), identificación de grupo (20) y los grupos a los que pertenezco (también 20).

uid=534(galuga) gid=20(staff) groups=20(staff)
galuga
fuente
15

Esto mostrará su ID de usuario.

$ id -u
502

Esto mostrará los nombres de tu grupo. Los nombres de los grupos están entre paréntesis.

$ id
uid=502(whoami) gid=20(staff) groups=20(staff),702(com.apple.sharepoint.group.2),12(everyone),61(localaccounts),79(_appserverusr),80(admin),81(_appserveradm),98(_lpadmin),33(_appstore),100(_lpoperator),204(_developer),395(com.apple.access_ftp),398(com.apple.access_screensharing),399(com.apple.access_ssh)
Gabriel Wu
fuente
4

en la Terminal, ve ~/Documentsy corre ls -la. Su nombre de usuario y grupo aparecerán junto a cada uno de los archivos / directorios.

Debe tener un aspecto como este:

drwxr-xr-x  2 username usergroup  4096 Oct 17  2012 Templates
miah
fuente
súper fácil y directo, gracias por la punta.
teradyl
3

Solo comentaría si pudiera. No tengo suficiente karma en este sitio.

No tengo idea de por qué alguien rechazó a @callaginn, ya que saca un punto válido.

Los siguientes métodos son válidos (y probablemente las mejores opciones para los scripts de shell):

id -u  # returns UID

id -un # returns username

id -g  # returns primary (a.k.a. effictive) GID

id -gn # returns primary Group Name

Ver man idpara más opciones.

Para responder a esta pregunta específica si estaba escribiendo un script que funcionaría en cualquier entorno, no asumiría que el grupo predeterminado staffestá en uso y en su lugar haría lo siguiente si estuviera escribiendo un script que pudiera ejecutarse para cualquier usuario (si modificaron o no su sistema):

chown "$(id -un):$(id -gn)" some_file

Siempre es mejor ser independiente de la plataforma siempre que sea posible (si no es una compensación demasiado tiempo), ya que más adelante incurrirá en una menor deuda técnica.

Tenga en cuenta que chownla -Rbandera debe usarse con la máxima confianza. Realmente podría estropear su sistema (aunque vale la pena señalar que Apple lo hizo difícil desde que lo implementaron System Integrity Protection).

Considere, por ejemplo, si fuera en chown -R 755 /varlugar de chown -R 755 /var/wwwroot con System Integrity Protectiondeshabilitado, creo que estaría en ello. No puedo decirte qué se rompería primero, pero se rompería primero en un sistema Darwin, pero por favor toma mi palabra de que no sería bonito.

Con suerte, alguien encuentra esto útil.

Robert J
fuente
2

Un método aún más corto para encontrar el grupo primario:

id -gn
callaginn
fuente