En Linux, los nombres de usuario son etiquetas legibles por humanos, pero el sistema identifica a los usuarios con un ID de Usuario (UID) único. El mapeo entre nombres de usuario y UIDs se almacena en el archivo /etc/passwd, un componente crítico para la gestión de usuarios.
Para ver su contenido, puedes usar un comando simple:
cat /etc/passwd
Este archivo muestra una lista de todos los usuarios del sistema e información detallada sobre ellos. Cada línea representa una única cuenta de usuario.
Desglosando los Campos de /etc/passwd
A una línea típica en este archivo, a menudo la primera, se ve así:
root:x:0:0:root:/root:/bin/bash
Esta entrada para el usuario root contiene siete campos separados por dos puntos (:). Comprender la estructura de /etc/passwd en Linux es clave para administrar usuarios. Analicemos cada campo:
- Nombre de Usuario: El nombre de inicio de sesión del usuario (ej.
root). - Contraseña: Un marcador de posición para la contraseña cifrada del usuario. La contraseña real no se almacena aquí por razones de seguridad.
- Una
xindica que la contraseña cifrada está en el archivo/etc/shadow. - Un
*(asterisco) significa que la cuenta está bloqueada y no se puede usar para iniciar sesión. - Un campo en blanco significa que el usuario no tiene contraseña.
- Una
- ID de Usuario (UID): El identificador numérico único para el usuario. El usuario
rootsiempre tiene un UID de0. - ID de Grupo (GID): El identificador numérico del grupo principal del usuario.
- Campo GECOS: Un campo de comentarios que tradicionalmente contiene información adicional como el nombre completo del usuario, número de teléfono o ubicación de la oficina. Está delimitado por comas.
- Directorio Principal: La ruta absoluta al directorio principal del usuario (ej.
/root). - Shell Predeterminado: El intérprete de línea de comandos predeterminado del usuario, que se ejecuta al iniciar sesión (ej.
/bin/bash).
Usuarios del Sistema y Cuentas Especiales
Cuando inspeccionas el archivo /etc/passwd, notarás muchas cuentas que no pertenecen a usuarios humanos. Estas son cuentas de sistema utilizadas para ejecutar servicios o procesos específicos con permisos limitados, lo que mejora la seguridad del sistema. Por ejemplo, el usuario daemon se utiliza para ejecutar procesos de demonio en segundo plano.
Edición del Archivo /etc/passwd
Aunque técnicamente puedes editar el archivo /etc/passwd directamente usando un editor de texto o el comando vipw, esto es fuertemente desaconsejado. Las ediciones manuales pueden introducir fácilmente errores de sintaxis, lo que podría bloquearte el acceso al sistema o causar inestabilidad.
Siempre es más seguro y confiable utilizar utilidades de línea de comandos dedicadas como useradd, usermod y userdel para administrar cuentas de usuario. Estas herramientas están diseñadas para modificar el archivo correctamente y manejar todas las configuraciones relacionadas.