Comprender el archivo /etc/passwd

El archivo /etc/passwd es el archivo más importante en el sistema operativo Linux. Este archivo almacena información esencial sobre los usuarios del sistema. Este archivo es propiedad del usuario root y para editar este archivo debemos tener privilegios de root. Pero trate de evitar editar este archivo. Ahora veamos cómo se ve este archivo.

Este archivo contiene una entrada por línea. Eso significa que almacena la información de un usuario en una línea. La información del usuario contiene siete campos y cada campo está separado por el símbolo de dos puntos ( : ). Cada entrada en el archivo /etc/passwd se ve así:

Ahora entendamos cada campo uno por uno:

  1. Nombre de usuario: este campo almacena los nombres de usuario que se utilizan al iniciar sesión en el sistema. La longitud de este campo es de 1 a 32 caracteres.
  2. Contraseña : este campo almacena la contraseña del usuario. El carácter x indica que la contraseña se almacena en el archivo /etc/shadow en formato cifrado. Podemos usar el comando passwd para actualizar este campo.
  3. ID de usuario (UID) : El identificador de usuario es el número asignado a cada usuario por el sistema operativo para referir a los usuarios. El 0 UID está reservado para el usuario raíz. Y 1-99 UID están reservados para otras cuentas predefinidas. Y 100-999 están reservados por el sistema para cuentas/grupos administrativos y del sistema.
  4. ID de grupo (GID) : el identificador de grupo es el número que indica el grupo principal de usuarios. La mayoría de las veces es el mismo que el UID.
  5. Información de ID de usuario (GECOS) : este es un campo de comentarios. Este campo contiene información como el número de teléfono del usuario, la dirección o el nombre completo del usuario. Este campo lo utiliza el comando finger para obtener información sobre el usuario.
  6. Directorio de inicio : este campo contiene la ruta absoluta del directorio de inicio del usuario. De forma predeterminada , los usuarios se crean en el directorio /home. Si este archivo está vacío , el directorio de inicio de ese usuario será /
  7. Shell de inicio de sesión : este campo almacena la ruta absoluta del shell de usuario. Este shell se inicia cuando el usuario inicia sesión en el sistema.

Ahora que hemos entendido la estructura de archivos del archivo /etc/passwd ahora veamos un ejemplo de este archivo. Puede ver el contenido del archivo usando el archivo cat como:

cat /etc/passwd

Podemos ver que hay muchos usuarios con toda la información.

Para buscar un usuario específico, podemos usar el comando grep . Ahora, por ejemplo, para obtener información sobre el usuario Nishant, podemos usar el siguiente comando:

grep nishant /etc/passwd

Compruebe el permiso del archivo /etc/passwd

Los usuarios normales solo tienen permisos de lectura para el archivo /etc/passwd. El único usuario raíz puede escribir en este archivo. Para ver los permisos del archivo /etc/passwd, podemos usar el comando ls de la siguiente manera:

ls -l /etc/passwd

La salida será 

Podemos ver que los permisos del archivo /etc/passwd son rw-r–r– . Esto significa que el usuario raíz tiene acceso de lectura y escritura y otros grupos y usuarios tienen acceso de solo lectura al archivo.

Para obtener más detalles como el tamaño, modificar la hora de este archivo, podemos usar el comando stat:

stat /etc/passwd

Leyendo el archivo /etc/passwd:

Podemos leer el archivo /etc/passwd de forma más sencilla usando el ciclo while y el separador IFS. Se usa un ciclo while para iterar a través del archivo, e IFS es una variable especial que se usa para separar la string por un carácter específico.

#!/bin/bash

# using while loop to iterate through file
while IFS=: read -r f1 f2 f3 f4 f5 f6 f7        
do
echo "User $f1 use $f7 shell and stores files in $f6 directory."
done < /etc/passwd                             

Después de usar este script, obtenemos el siguiente resultado:

Publicación traducida automáticamente

Artículo escrito por nishant0073 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *