Como administrador de sistemas Linux, se te asignará la tarea de garantizar el flujo fluido de todas las operaciones de TI en tu organización. Dado que algunas operaciones de TI están entrelazadas, un administrador de sistemas suele tener múltiples funciones, incluyendo ser administrador de bases de datos o de red.
Este artículo es Parte 5 de la serie LFCA, aquí en esta parte, te familiarizarás con los comandos generales de administración del sistema para crear y gestionar usuarios en un sistema Linux.
Gestión de cuentas de usuario en Linux
Una de las responsabilidades principales de un administrador de sistemas Linux es crear y gestionar usuarios en un sistema Linux. Cada cuenta de usuario tiene 2 identificadores únicos: el nombre de usuario y el ID de usuario (UID).
Esencialmente, hay 3 categorías principales de usuarios en Linux:
Usuario Root
El usuario root es el usuario más poderoso en un sistema Linux y generalmente se crea durante el proceso de instalación. El usuario root tiene poder absoluto en el sistema Linux o cualquier otro sistema operativo similar a UNIX. El usuario puede acceder a todos los comandos, archivos y directorios y modificar el sistema según su preferencia.
El usuario root puede actualizar el sistema, instalar o desinstalar paquetes, agregar o quitar otros usuarios, conceder o revocar permisos, y realizar cualquier otra tarea de administración del sistema sin restricciones.
El usuario root casi puede hacer cualquier cosa en el sistema. La suposición de los sistemas Linux y UNIX-like es que sabes perfectamente lo que estás haciendo con el sistema. Dicho esto, el usuario root puede fácilmente romper el sistema. Solo es necesario que ejecutes un comando fatal, y el sistema se incendiará.
Por esta razón, ejecutar comandos como el usuario root está altamente desaconsejado. En su lugar, la buena práctica exige que deberías configurar un usuario sudo. Es decir, conceder privilegios de sudo a un usuario regular para realizar ciertas tareas administrativas y restringir algunas tareas solo para el usuario root.
Usuario Regular
A regular user is a normal login user that can be created by a systems administrator. Usually, there is a provision to create one during the installation process. However, you can still create as many regular users as needed post-installation.
A regular user can only perform tasks and access files and directories for which they are authorized. If need be, a regular user can be granted elevated privileges to perform administrative-level tasks. Regular users can also be deleted or disabled when the need arises.
Cuenta de Servicio
Esta es una cuenta de inicio no válida que se crea al instalar un paquete de software. tales cuentas son usadas por servicios para ejecutar procesos en el sistema. No están diseñadas o destinadas a realizar ninguna tarea de rutina o administrativa en el sistema.
Archivos de Gestión de Usuarios
La información sobre los usuarios en un sistema Linux se almacena en los siguientes archivos:
- El archivo /etc/passwd
- El archivo /etc/group
- El archivo /etc/gshadow
- El archivo /etc/shadow
Vamos a entender cada archivo y qué hace:
El archivo /etc/passwd
El archivo /etc/passwd contiene bastante información sobre los usuarios que está contenida en varios campos. Para ver el contenido del archivo, simplemente use el comando cat como se muestra.
$ cat /etc/passwd
Aquí hay un fragmento de la salida.
tecmint:x:1002:1002:tecmint,,,:/home/tecmint:/bin/bash
Concentrémonos en la primera línea y desarrollemos los diversos campos. Comenzando por la extrema izquierda, tenemos lo siguiente:
- El nombre de usuario: Este es el nombre del usuario, en este caso, tecmint.
- La contraseña: La segunda columna representa la contraseña encriptada del usuario. La contraseña no se imprime en texto plano, en su lugar, se usa un marcador con una señal de x.
- El UID: Este es el ID de Usuario. Es un identificador único para cada usuario.
- El GID: Este es el ID de Grupo.
- A brief description or summary of the user.
- Este es el camino al directorio principal del usuario. Para el usuario tecmint, tenemos /home/tecmint.
- Este es el shell de inicio de sesión. Para los usuarios de inicio de sesión regular, esto generalmente se representa como /bin/bash. Para cuentas de servicio como SSH o MySQL, esto generalmente se representa como /bin/false.
El archivo /etc/group
Este archivo contiene información sobre los grupos de usuarios. Cuando se crea un usuario, el sistema crea automáticamente un grupo que corresponde al nombre de usuario del usuario. Esto se conoce como grupo primario. El usuario se agrega al grupo primario al momento de la creación.
Por ejemplo, si crea un usuario llamado bob, el sistema crea automáticamente un grupo llamado bob y agrega al usuario bob al grupo.
$ cat /etc/group tecmint:x:1002:
El archivo /etc/group tiene 3 columnas. Desde la extrema izquierda, tenemos:
- Nombre del grupo. Cada nombre de grupo debe ser único.
- Contraseña del grupo. Por lo general, representada por un marcador x.
- ID del grupo (GID)
- Miembros del grupo. Estos son los miembros que pertenecen al grupo. Este campo se deja en blanco si el usuario es el único miembro del grupo.
NOTA: Un usuario puede ser miembro de múltiples grupos. De la misma manera, un grupo puede tener varios miembros.
Para confirmar los grupos a los que pertenece un usuario, ejecute el comando:
$ groups username
Por ejemplo, para verificar los grupos a los que pertenece el usuario tecmint, ejecute el comando:
$ groups tecmint
La salida confirma que el usuario pertenece a dos grupos: tecmint y sudo.
tecmint : tecmint sudo
El archivo /etc/gshadow
Este archivo contiene contraseñas encriptadas o ‘sombreadas’ para cuentas de grupo y, por razones de seguridad, no puede ser accedido por usuarios regulares. Solo puede ser leído por el usuario root y usuarios con privilegios sudo.
$ sudo cat /etc/gshadow tecmint:!::
Desde la extrema izquierda, el archivo contiene los siguientes campos:
- Nombre del grupo
- Contraseña del grupo encriptada
- Administrador del grupo
- Miembros del grupo
El archivo /etc/shadow
El archivo /etc/shadow almacena las contraseñas reales de los usuarios en un formato hash o encriptado. Nuevamente, los campos están separados por dos puntos y tienen el formato mostrado.
$ sudo cat /etc/shadow tecmint:$6$iavr8PAxxnWmfh6J$iJeiuHeo5drKWcXQ.BFGUrukn4JWW7j4cwjX7uhH1:18557:0:99999:7:::
El archivo tiene 9 campos. Comenzando desde la izquierda, tenemos:
- El nombre de usuario: Este es tu nombre de inicio de sesión.
- La contraseña del usuario. Se presenta en formato hash o encriptado.
- El último cambio de contraseña. Esta es la fecha desde el cambio de contraseña y se calcula desde la fecha del epoch. Epoch es el 1 de enero de 1970.
- La edad mínima de la contraseña. Este es el número mínimo de días que deben transcurrir antes de que se pueda establecer una contraseña.
- La edad máxima de la contraseña. Este es el número máximo de días después de los cuales se debe cambiar una contraseña.
- El periodo de advertencia. Como sugiere el nombre, este es el número de días antes de que expire una contraseña que un usuario es notificado del próximo vencimiento de la contraseña.
- El periodo de inactividad. El número de días después de que una contraseña expire que una cuenta de usuario se deshabilita sin que el usuario cambie la contraseña.
- La fecha de vencimiento. La fecha en que venció la cuenta de usuario.
- Campo reservado. – Esto se deja en blanco.
Cómo agregar usuarios en un sistema Linux
Para las distribuciones Debian y Ubuntu, se utiliza la herramienta adduser para agregar usuarios.
La sintaxis es bastante simple y directa.
# adduser username
Por ejemplo, para agregar un usuario llamado bob, se ejecuta el comando
# adduser bob
Del resultado, se crea un usuario llamado ‘bob‘ y se agrega a un grupo nuevo llamado ‘bob‘. Además, el sistema también crea un directorio personal y copia los archivos de configuración en él.
A continuación, se le pedirá la contraseña del nuevo usuario y luego confirmarla. La shell también le pedirá el nombre completo del usuario y otra información opcional como el número de habitación y el teléfono del trabajo. Esta información no es realmente necesaria, así que es seguro omitirla. Finalmente, presione ‘Y’
para confirmar que la información proporcionada es correcta.

Para los sistemas basados en RHEL y CentOS, use el comando useradd.
# useradd bob
Después, establezca la contraseña para el usuario usando el comando passwd de la siguiente manera.
# passwd bob

Cómo eliminar usuarios en un sistema Linux
Para eliminar un usuario del sistema, es recomendable primero bloquear al usuario para que no pueda iniciar sesión en el sistema, como se muestra.
# passwd -l bob
Si desea, puede respaldar los archivos del usuario usando el comando tar.
# tar -cvf /backups/bob-home-directory.tar.bz2 /home/bob

Finalmente, para eliminar al usuario junto con el directorio personal, use el comando deluser de la siguiente manera:
# deluser --remove-home bob

Además, puede usar el comando userdel como se muestra.
# userdel -r bob
Los dos comandos eliminan completamente al usuario junto con sus directorios personales.
Conclusión
Esa fue una visión general de los comandos de gestión de usuarios que resultarán útiles, especialmente al administrar cuentas de usuario en su entorno de oficina. Pruébelos de vez en cuando para afilar sus habilidades de administración del sistema.
Source:
https://www.tecmint.com/linux-user-account-management/