El archivo /etc/passwd almacena información esencial, que se requiere durante el inicio de sesión en linux. En otras palabras, almacena información de la cuenta del usuario. /etc/passwd es un archivo de texto sin formato. Contiene una lista de las cuentas del sistema, que proporciona información útil para cada cuenta, como ID de usuario, ID de grupo, directorio de inicio, shell y más.
El archivo /etc/passwd debe tener permiso de lectura general, ya que muchas utilidades de comando lo usan para asignar ID de usuario a nombres de usuario. Sin embargo, el acceso de escritura a /etc/passwd solo debe limitarse para la cuenta de superuser/root.
Tabla de contenidos
Entendiendo el formato del archivo /etc/passwd
/etc/passwd contiene una entrada por línea para cada usuario (cuenta de usuario) del sistema. Todos los campos están separados por un (:). Total de siete campos de la siguiente manera. En general, la entrada del archivo /etc/passwd tiene el siguiente aspecto:
Formato /etc/passwd
- Nombre de usuario: se utiliza cuando el usuario inicia sesión. Debe tener entre 1 y 32 caracteres de longitud.
- Contraseña: un carácter x indica que la contraseña cifrada se almacena en el archivo /etc/shadow. Tenga en cuenta que debe usar el comando passwd para calcular el hash de una contraseña escrita en la CLI o para almacenar / actualizar el hash de la contraseña en el archivo /etc/shadow.
- ID de usuario (UID): a cada usuario se le debe asignar una ID de usuario (UID). El UID 0 (cero) está reservado para root y los UID 1-99 están reservados para otras cuentas predefinidas. El sistema reserva UID 100-999 adicionales para cuentas / grupos administrativos y del sistema.
- ID de grupo (GID): la ID de grupo principal (almacenada en /etc/group file)
- Información de ID de usuario: el campo de comentario. Le permite agregar información adicional sobre los usuarios, como el nombre completo del usuario, el número de teléfono, etc. Este campo se utiliza mediante un comando de dedo.
- Directorio de inicio: la ruta absoluta al directorio en el que estará el usuario cuando inicie sesión. Si este directorio no existe, el directorio de usuarios se convierte en /.
- Comando/shell: la ruta absoluta de un comando o shell (/bin/bash). Típicamente, esto es un caparazón. Tenga en cuenta que no tiene que ser un shell.
Espero que hayas entendido el formato de archivo /etc/passwd. Veamos algunos ejemplos de comandos.
Ver lista de usuarios
/etc/passwd solo se usa para usuarios locales. Para ver la lista de todos los usuarios, simplemente usa el comando cat:
cat /etc/passwd
Para buscar un nombre de usuario llamado tom, usa el comando grep:
grep tom /etc/passwd
Resultado: tom:x:1000:1000:Vivek Gite:/home/vivek:/bin/bash
Lectura del archivo /etc/passwd
Pare leer el fichero, basta con hacer un cat como se muestra en la siguiente imagen:
Tu contraseña se almacena en el archivo /etc/shadow
Las contraseñas cifradas no se almacenan en el archivo /etc/passwd. Se almacena en el archivo /etc/shadow. En los viejos tiempos no había un gran problema con este permiso de lectura general. Todos podían leer las contraseñas cifradas, pero el hardware era demasiado lento para descifrar una contraseña bien elegida y, además, la suposición básica solía ser la de una comunidad de usuarios amigable.
Casi todos los sistemas operativos modernos de línea Linux/UNIX utilizan algún tipo de conjunto de contraseñas ocultas, donde /etc/passwd tiene asteriscos (*) en lugar de contraseñas cifradas, y las contraseñas cifradas están en /etc/shadow, que el superusuario puede leer solamente.
Comandos comunes que usan archivos /etc/passwd
Aquí hay una lista de comandos:
- passwd command
- su command
- sulogin command
- getent command
- login command
- pwck command
- pwunconv command
- chpasswd command
- chsh command
- chfn command
- useradd command
- userdel command
Conclusión
El archivo /etc/passwd es utilizado para almacenar todos los nombres de usuario y cuentas en el sistema Linux o similar a Unix.