LINUX

Explicación del archivo / etc / passwd en Linux

En los sistemas Linux, la información de la cuenta de usuario, como el nombre de usuario, la ID de usuario (UID), la ID de grupo (GID), el directorio de inicio y el shell se guardan en un archivo de texto sin formato llamado / etc / passwd. Cuando se crea un usuario, los archivos del sistema como / etc / passwd, / etc / shadow y / etc / group se actualizan.

El archivo / etc / passwd es legible para todos, ya que a muchas utilidades les gusta leer los metadatos del archivo. Por ejemplo, el agente de entrega de correo busca información del directorio de inicio en este archivo.

El archivo / etc / passwd almacena la información de la cuenta en formato de contraseña oculta con la contraseña representada como un único ‘X’ carácter mientras que el archivo / etc / shadow almacena la contraseña real en formato cifrado.

Comprensión del formato de archivo / etc / passwd

Este archivo almacena información de cuentas locales del sistema. Cualquier usuario puede leerlo, pero solo el superusuario root puede escribirlo. Contiene algunas líneas y usa dos puntos (:) para separar los campos donde cada línea representa a un usuario específico.

$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
linoadmin:x:1000:1000::/home/linoadmin:/bin/bash

/etc/passwd El archivo tiene siete campos que se pueden representar como se muestra a continuación.

archivo passwd linux

Puede comprender la función de cada archivo con los detalles a continuación:

  • Nombre de usuario o inicio de sesión: El primer campo define el nombre de usuario del usuario para iniciar sesión. Solo los usuarios locales tienen entradas en el archivo passwd. Debe tener entre 1 y 32 caracteres.
  • Contraseña (x): El segundo campo identificado por x El carácter representa que la contraseña cifrada está disponible en el archivo / etc / shadow. El archivo de contraseña no incluye la contraseña por razones de seguridad (todos pueden leerla).
  • ID de usuario (UID): Representa el tercer campo. Cada usuario creado en una máquina Linux tiene una identificación de usuario única que los identifica en el sistema. Siempre se hace referencia al usuario raíz mediante el ID de usuario 0. Los UID 1 a 99 están reservados para otras cuentas predefinidas, mientras que el sistema reserva los UID 100-999 para cuentas / grupos administrativos y del sistema. Los UID para nuevos usuarios en algunos sistemas Linux comienzan en 1000.
  • ID de grupo (GID): Representa el cuarto campo. Cuando se crea un usuario con el comando useradd, también creará un grupo principal para el usuario con el mismo nombre que el nombre de usuario si no mencionó explícitamente ningún nombre de grupo. Representa el ID único proporcionado para el grupo principal al que pertenece el usuario. Un solo usuario puede ser miembro de varios grupos que se pueden encontrar en el archivo / etc / group, pero el archivo passwd solo contendrá la información del grupo principal.
  • Información de identificación de usuario o comentario o descripción: El quinto campo es un breve comentario / descripción / información de la cuenta de usuario. Le permite agregar información adicional sobre los usuarios, como el nombre completo del usuario, el número de teléfono, las descripciones del servicio para el que se creó la cuenta, etc.
  • Directorio de inicio: El sexto campo representa la ruta absoluta al directorio de inicio del usuario cuando inicia sesión. Para los usuarios habituales, normalmente sería /home/username. Para root, el directorio de inicio es / root.
  • Cascarón: El séptimo campo es la ruta absoluta de comando o shell /bin/bash. Normalmente, este campo contiene información sobre el shell predeterminado del usuario.

una. Permiso del archivo / etc / passwd

Porque /etc/passwd El archivo es muy importante para los sistemas Linux, su permiso predeterminado es 644 para evitar modificaciones erróneas, de modo que cualquier usuario solo pueda leer el archivo y solo el usuario root pueda editarlo. Puede el permiso de la siguiente manera

# ls -l /etc/passwd
-rw-r--r-- 1 root root 1501 May 11 16:58 /etc/passwd

B. Cómo funciona el comando passwd

Es posible cambiar su propia contraseña o la contraseña asignada a un usuario con /usr/bin/passwd mando. Puede obtener el permiso de este comando a continuación:

 ls -l /usr/bin/passwd 
-rwsr-xr-x. 1 root root 27832 Jun 10 2014 /usr/bin/passwd

Puede ver que el usuario y el propietario del grupo son root con permisos de lectura y ejecución también para los demás usuarios. Aunque es propiedad de root, puede ver el Bit SETUID representado por el s permiso que permite a los usuarios ejecutar un programa como si fueran el usuario propietario del programa (root en nuestro caso). Es por eso que puede usar este comando para cambiar su contraseña incluso si no es un usuario root.

Para cambiar su propia contraseña, simplemente ingrese el comando passwd sin opción

$ passwd 
Changing password for user papso.
Changing password for papso.
(current) UNIX password: 
New password:

Tenga en cuenta que, si puede cambiar su propia contraseña sin privilegios de root, no puede cambiar la contraseña de un usuario sin ella.

$ passwd patrick
passwd: Only root can specify a user name.

Conclusión

los /etc/passwd es un archivo muy importante en Linux, así que preste atención al editarlo. Espero que haya disfrutado leyendo este tutorial y deje sus sugerencias en la sección de comentarios a continuación.

Publicaciones relacionadas

Deja una respuesta

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

Botón volver arriba
Cerrar