El comando id en Linux se usa para mostrar la ID de usuario real y efectiva y la ID de grupo de un usuario.
En este tutorial, le mostraré cómo usar el comando id en Linux con algunos de los ejemplos más comunes y útiles.
comando id en Linux
Esta es la sintaxis del comando id:
id [options] [username]
Si no proporciona un nombre de usuario, el comando muestra los detalles sobre el usuario que ha iniciado sesión actualmente.
id
Aquí está el resultado que me mostró en Ubuntu Linux.
[email protected]:~$ id
uid=1000(abhishek) gid=1000(abhishek) groups=1000(abhishek),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),119(lpadmin),130(lxd),131(sambashare)
En el resultado anterior, el usuario abhishek
tiene uid 1000 y gid 1000. Ese es el grupo principal del usuario abhishek
pertenece por defecto.
Aparte de eso, el usuario abhishek
también es miembro de ciertos otros grupos y esos grupos también se han mostrado en la salida.
Ejemplos de comando id
Estas son las opciones más comunes para el comando id:
Opción | Descripción |
-u | Imprimir el id de usuario efectivo |
-g | Imprimir el id de grupo efectivo |
-G | Imprimir los ID de todos los grupos a los que pertenece el usuario |
-n | Imprimir nombres en lugar de ID (deben combinarse con -u, -g o -G) |
-r | Imprimir identificación real en lugar de identificaciones efectivas (debe combinarse con -u, -g o -G) |
¿ID de usuario y grupo real vs efectivo?
Esto podría ser confuso para usted. Cuando se crea un usuario, se le asigna un nombre de usuario, una identificación de usuario (uid), un grupo predeterminado y la identificación de ese grupo predeterminado es el gid para ese usuario. Este es el ID de usuario y grupo 'real'.
Dado que en Linux, los procesos se pueden ejecutar como otro usuario y grupo, también hay un segundo conjunto de ID llamados ID efectivos.
La mayoría de las veces, los UID y GID reales y efectivos son los mismos. Pero hay situaciones en las que un usuario normal tiene que modificar un archivo privilegiado. Aquí es donde se utiliza el concepto de identificación efectiva. El ejemplo más común es el uso del comando passwd para cambiar la contraseña que modifica el archivo /etc/passwd propiedad de root.
No puedo entrar en detalles aquí, pero recomiendo leer sobre esto aquí. También debe leer sobre SUID, GUID y permisos de bits fijos en Linux.
1. Imprimir el UID y GID de un determinado usuario
Para imprimir el uid y gid y todos los demás ID de grupo de un usuario, solo tiene que especificar el nombre de usuario:
id username
Puede enumerar todos los usuarios en su sistema Linux para obtener el nombre de usuario deseado.
2. Imprime solo el UID de un usuario
Puedes usar el -u
Opción para imprimir el UID en Linux. Como se mencionó anteriormente, si omite el nombre de usuario, muestra la información sobre el usuario que inició sesión.
id -u userame
Tenga en cuenta que solo muestra el UID, el valor numérico, no el nombre.
[email protected]:~$ id -u
1000
3. Imprime solo el GID de un usuario
Del mismo modo, puede utilizar la opción -g
para imprimir el GID de un usuario. Cuando digo GID, es la ID numérica del grupo predeterminado al que pertenece el usuario.
id -g username
Nuevamente, solo mostrará la ID numérica del grupo.
[email protected]:~$ id -g nobody
65534
4. Imprima los ID de todos los demás grupos a los que pertenece el usuario
Un usuario puede pertenecer a varios grupos. Esta es una característica básica del sistema de archivos de Linux. Puede usar el comando usermod y agregarlo al grupo sudo para otorgarle privilegios de root.
Puedes usar -G
opción para mostrar los ID de todos los grupos a los que pertenece el usuario.
id -G username
Esto también muestra solo el ID.
[email protected]:~$ id -G abhishek
1000 4 24 27 30 46 119 130 131
5. Imprimir nombres en lugar de ID numéricos
Los ID numéricos solo pueden ser confusos. Si quieres los nombres, puedes combinar el -n
opción con -u
, -g
o -G
para mostrar los nombres.
Por ejemplo, si desea mostrar todos los grupos a los que pertenece un usuario, puede usarlo así:
id -nG username
Si uso el ejemplo anterior con la opción -n
esto es lo que muestra:
[email protected]:~$ id -nG abhishek
abhishek adm cdrom sudo dip plugdev lpadmin lxd sambashare
Consejo adicional:Imprima las identificaciones reales
Todos los ejemplos anteriores muestran los ID efectivos. Casi todo el tiempo será la identificación real.
Sin embargo, si desea asegurarse de obtener la identificación real, puede combinar la opción -r
con -u
, -g
o -G
.
Se puede usar así:
id -ru username
¡Bien! Creo que ya sabes lo suficiente sobre el comando id. Si tienes preguntas o sugerencias, no dudes en dejar un comentario.