Cómo comprobar si un usuario específico tiene un directorio personal en Linux

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás cómo verificar si un usuario específico tiene un directorio personal (home directory) en Linux. Exploraremos el archivo /etc/passwd para entender cómo se almacenan la información de los usuarios, incluyendo las rutas de los directorios personales.

Luego, utilizarás el comando ls para verificar la existencia del directorio personal dentro del directorio /home e inspeccionar sus detalles, como los permisos y la propiedad. Este ejercicio práctico proporcionará habilidades prácticas para la gestión de usuarios en un entorno Linux.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") subgraph Lab Skills linux/ls -.-> lab-558765{{"Cómo comprobar si un usuario específico tiene un directorio personal en Linux"}} linux/cat -.-> lab-558765{{"Cómo comprobar si un usuario específico tiene un directorio personal en Linux"}} end

Verificar el directorio personal del usuario en /etc/passwd

En este paso, exploraremos cómo Linux almacena información sobre los usuarios, centrándonos específicamente en sus directorios personales (home directories). El directorio personal es donde se almacenan los archivos personales y las configuraciones de un usuario.

Linux guarda la información de las cuentas de usuario en un archivo llamado /etc/passwd. Este archivo contiene una línea para cada cuenta de usuario en el sistema. Veamos el contenido de este archivo utilizando el comando cat. cat es un comando simple que muestra el contenido de un archivo.

Escribe el siguiente comando en tu terminal y presiona Enter:

cat /etc/passwd

Verás una gran cantidad de salida, donde cada línea representa a un usuario. Desplázate por la salida (puedes usar Shift + Page Up/Page Down o la rueda del ratón) hasta encontrar la línea que comienza con labex:.

La línea para el usuario labex se verá algo así:

labex:x:5000:5000:LabEx user,,,:/home/labex:/bin/zsh

Cada campo en esta línea está separado por dos puntos (:). Aquí está un rápido desglose de los campos (de izquierda a derecha):

  1. Nombre de usuario (Username): labex - El nombre del usuario.
  2. Marcador de contraseña (Password placeholder): x - Esto indica que la contraseña está encriptada y almacenada en /etc/shadow (por razones de seguridad).
  3. Identificador de usuario (User ID - UID): 5000 - Un número único que identifica al usuario.
  4. Identificador de grupo (Group ID - GID): 5000 - El identificador del grupo principal del usuario.
  5. Campo de comentario/GECOS: LabEx user,,, - Contiene información general sobre el usuario (como el nombre completo).
  6. Directorio personal (Home Directory): /home/labex - Esta es la ruta al directorio personal del usuario.
  7. Shell de inicio de sesión (Login Shell): /bin/zsh - La shell (intérprete de comandos) predeterminada que se inicia cuando el usuario inicia sesión.

Para este paso, la parte más importante es el sexto campo, que muestra que el directorio personal del usuario labex es /home/labex.

Comprender /etc/passwd es fundamental para gestionar usuarios y permisos en Linux.

Haz clic en Continuar para pasar al siguiente paso.

Verificar el directorio personal con ls /home

En el paso anterior, vimos que el archivo /etc/passwd indica que el directorio personal del usuario labex es /home/labex. Ahora, usemos el comando ls para verificar que este directorio realmente existe dentro del directorio /home.

El comando ls se utiliza para listar archivos y directorios. Cuando se usa ls seguido de una ruta de directorio, lista el contenido de ese directorio.

Escribe el siguiente comando en tu terminal y presiona Enter:

ls /home

Este comando le dice a ls que liste el contenido del directorio /home.

Deberías ver una salida similar a esta:

labex

Esta salida confirma que hay un directorio llamado labex dentro del directorio /home. Esto coincide con la ruta del directorio personal que encontramos en el archivo /etc/passwd.

El directorio /home es la ubicación estándar en Linux donde se crean los directorios personales de los usuarios normales. Cada usuario generalmente tiene un subdirectorio dentro de /home con el nombre de su nombre de usuario.

Usar ls es una habilidad fundamental para navegar y entender el sistema de archivos en Linux.

Haz clic en Continuar para pasar al siguiente paso, donde veremos los detalles del directorio /home/labex.

Inspeccionar detalles del directorio personal con ls -ld

En los pasos anteriores, identificamos el directorio personal del usuario labex como /home/labex y confirmamos su existencia utilizando ls /home. Ahora, obtengamos información más detallada sobre el propio directorio /home/labex, en lugar de su contenido.

Para hacer esto, usaremos nuevamente el comando ls, pero con dos opciones importantes: -l y -d.

  • La opción -l le dice a ls que muestre la salida en un formato de "listado largo" (long listing), que proporciona información detallada sobre archivos y directorios, incluyendo permisos, propietario, tamaño y fecha de modificación.
  • La opción -d es crucial aquí. Cuando se usa con ls -l, le dice a ls que liste el directorio en sí mismo como un archivo, en lugar de listar su contenido. Sin -d, ls -l /home/labex listaría la información detallada de los archivos y directorios dentro de /home/labex.

Combina estas opciones y la ruta al directorio personal. Escribe el siguiente comando en tu terminal y presiona Enter:

ls -ld /home/labex

Verás una sola línea de salida que proporciona detalles sobre el directorio /home/labex. Se verá similar a esto:

drwxr-xr-x 2 labex labex 4096 <Date> <Time> /home/labex

Desglosemos esta salida:

  • d: El primer carácter indica el tipo de archivo. d significa que es un directorio.
  • rwxr-xr-x: Estos son los permisos de archivo. Especifican quién puede leer, escribir y ejecutar (o acceder, en el caso de directorios) el directorio.
  • 2: El número de enlaces duros (hard links) al directorio.
  • labex: El propietario del directorio.
  • labex: El grupo propietario del directorio.
  • 4096: El tamaño del directorio en bytes.
  • <Date> <Time>: La fecha y hora de la última modificación.
  • /home/labex: El nombre del directorio.

Este comando confirma que /home/labex es de hecho un directorio (d) y muestra su propietario (usuario labex y grupo labex), lo cual es típico para un directorio personal de usuario.

Usar ls -ld es una forma muy común de comprobar rápidamente el tipo, los permisos y el propietario de un archivo o directorio específico.

Ahora has localizado e inspeccionado con éxito los detalles de tu directorio personal utilizando comandos fundamentales de Linux.

Haz clic en Continuar para completar este laboratorio.

Resumen

En este laboratorio, aprendimos cómo comprobar si un usuario específico tiene un directorio personal en Linux. Comenzamos examinando el archivo /etc/passwd utilizando el comando cat. Este archivo contiene información crucial del usuario, e identificamos el sexto campo como la ubicación del directorio personal del usuario.

Después de la inspección de /etc/passwd, verificamos la existencia del directorio personal listando el contenido del directorio /home utilizando el comando ls. Finalmente, usamos ls -ld para obtener información detallada sobre el directorio personal del usuario específico, confirmando su presencia y permisos.