CodeGym /Cursos /Docker SELF /Comprobación de los permisos actuales: comandos `whoami`,...

Comprobación de los permisos actuales: comandos `whoami`, `id`

Docker SELF
Nivel 2 , Lección 3
Disponible

Comprobación de los permisos actuales: comandos whoami, id

1. ¿Quién soy en el sistema? Comando whoami

Cada usuario de Linux trabaja bajo una cuenta específica, que tiene sus propios permisos, limitaciones y pertenencia a grupos. En esta lección aprenderás a verificar bajo qué cuenta estás trabajando, qué permisos tienes y a qué grupos perteneces. Conocer los parámetros actuales del usuario es importante tanto en el trabajo cotidiano como para cuestiones de seguridad, administración y depuración.

Cuando trabajas en un sistema Linux, es útil saber bajo qué cuenta estás operando en ese momento. Por ejemplo, si accidentalmente estás usando el sistema como usuario con privilegios (root), podrías realizar cambios irreversibles en los archivos del sistema. Para evitar tales situaciones, existe el comando whoami.

Sintaxis

whoami

¿Qué hace el comando?

El comando whoami muestra el nombre del usuario actual con el que se está trabajando en el sistema. Responde a la pregunta más importante: "¿Quién soy?"

Ejemplo

$ whoami
student

En este caso, el resultado student significa que has iniciado sesión como el usuario con el nombre student. Si estuvieras trabajando como un usuario con permisos elevados (por ejemplo, root), el resultado sería el siguiente:

$ whoami
root

¿Por qué es importante?

Imagina que usas un comando para eliminar todos los archivos de un directorio (por ejemplo, rm -rf /important_directory). Como usuario normal, el sistema podría restringirte si no tienes los permisos necesarios. Pero como usuario root, ejecutará tu comando sin dudar. El comando whoami ayuda a evitar este tipo de situaciones desagradables.


2. Estudio detallado de la información del usuario: comando id

Conocer tu nombre de usuario está bien, pero no es suficiente para entender a fondo tus permisos y privilegios en el sistema. Para obtener información más detallada existe el comando id.

Sintaxis

id [usuario]

Si no se especifica un nombre de usuario, el comando id mostrará información sobre el usuario actual. Si indicas el nombre de otro usuario, podrás verificar los detalles de su cuenta.

¿Qué muestra el comando id?

  1. UID (User ID) — identificador único del usuario.
  2. GID (Group ID) — identificador único del grupo principal del usuario.
  3. Lista de grupos — todos los grupos a los que pertenece el usuario (incluido el grupo principal).

Ejemplo

$ id
uid=1001(student) gid=1001(student) grupos=1001(student),27(sudo),1002(developers)
  • UID=1001: Este es el identificador único del usuario actual (student). En sistemas Linux el UID del usuario root siempre es 0.
  • GID=1001: Este es el identificador del grupo principal del usuario (student).
  • Grupos=1001(student), 27(sudo), 1002(developers): Aquí se enumeran los grupos adicionales a los que pertenece el usuario. Por ejemplo, el grupo sudo permite al estudiante ejecutar comandos como usuario privilegiado.

Si ejecutamos el comando para otro usuario:

$ id user2
uid=1002(user2) gid=1002(user2) grupos=1002(user2),1001(developers)

Se puede ver que el usuario user2 pertenece al grupo developers.


3. Uso de UID y GID en el trabajo real

A cada usuario y grupo se les asignan identificadores numéricos únicos (UID y GID respectivamente). Juegan un papel vital dentro del sistema, a menudo reemplazando los nombres de usuario y grupos en texto. ¿Para qué sirve esto?

  • Algunos procesos del sistema trabajan directamente con identificadores numéricos para ser más eficientes.
  • Los permisos de acceso a archivos y carpetas se determinan no por los nombres de los usuarios o grupos, sino por sus UID y GID.
  • En los archivos de configuración y los logs (por ejemplo, /etc/passwd) puedes encontrar no nombres de usuarios, sino sus UID.

4. Explorando grupos con groups

Además, puedes usar el comando groups para averiguar a qué grupos pertenece el usuario actual.

Sintaxis

groups [usuario]

Si omites el nombre del usuario, obtendrás una lista de grupos para la cuenta actual. Indicando el nombre del usuario, sabrás los grupos para el usuario dado.

Ejemplo:


$ groups
student developers sudo

$ groups user2
user2 developers

5. Trabajo con comandos

Ahora un poco de práctica para consolidar lo aprendido.

Verificación de la cuenta actual

  1. Abre el terminal.
  2. Ejecuta el comando:

    whoami
    

    Comprueba tu nombre de usuario.

  3. Ejecuta el comando sudo su (te pedirá la contraseña), y luego ejecuta otra vez whoami para ver con qué usuario estás trabajando.

Exploración de información sobre el usuario

  1. Ejecuta el comando:

    id
    
    Revisa cuál es el UID, GID y a qué grupos pertenece tu usuario.
  2. Crea un nuevo usuario (si tienes acceso al comando sudo):

    sudo adduser testuser
    

    Luego ejecuta:

    id testuser
    

Análisis de pertenencia a grupos

  1. Ejecuta:

    groups
    

    Fíjate a qué grupos pertenece tu usuario.

  2. Añade al usuario actual a un nuevo grupo:

    sudo groupadd testgroup
    sudo usermod -aG testgroup $(whoami)
    

    Comprueba el resultado:

    groups
    

6. Errores típicos y momentos complicados

  1. Muchos principiantes confunden whoami e id. Recuerda: whoami muestra solo el nombre del usuario actual, mientras que id proporciona información más detallada sobre permisos y grupos.

  2. Si no tienes privilegios de administrador (acceso a sudo), puede que no tengas la posibilidad de añadir usuarios a grupos o cambiar sus parámetros. En tales casos, deberías contactar con el administrador del sistema.

  3. El comando id al indicar un usuario inexistente devolverá un error:

    $ id nonexistinguser
    id: ‘nonexistinguser’: no such user
    

Ahora sabes cómo comprobar qué usuario está activo actualmente, con qué permisos está trabajando y a qué tiene acceso. Los comandos whoami e id parecen simples, pero juegan un rol clave para entender el sistema de usuarios y permisos en Linux. En el trabajo real, los usarás frecuentemente para diagnosticar problemas, verificar permisos y configurar usuarios.

Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION