Cómo gestionar usuarios desde la línea de comandos en Linux

Una de las responsabilidades centrales de la administración de Linux es la gestión de usuarios. A través del uso de la línea de comandos, la creación de usuarios se puede completar de forma remota o programática. Una vez que hayas creado un usuario, puedes agregarlo a grupos o darle privilegios elevados. Además, puedes mantener un registro de auditoría sobre lo que se ha hecho en tu servidor y cualquier posible problema.
Si has desarrollado software o programado para la web, es posible que estés familiarizado con la política de nunca confiar en los usuarios. Este mismo principio se aplica en otras áreas del uso de computadoras en lo que respecta a la implicación del usuario. Solo da acceso a aquellos que lo necesiten y cuando lo necesiten. Una delegación generosa de privilegios podría permitir el acceso no especificado y no autorizado a la información y datos fundamentales de otros.
Visualización de usuarios existentes
Una de las formas más rápidas de ver usuarios es utilizar los comandos cat (concatenar) o more (paginador) para ver la lista de usuarios en el sistema. El archivo que necesitarás consultar es el archivo “/etc/passwd”. Este archivo almacena todas las cuentas de usuario y la información de inicio de sesión de los usuarios.
sudocat/etc/passwdUtilizando el comando useradd
useradd es un binario de bajo nivel disponible en la mayoría de las distribuciones. Este comando se utiliza típicamente menos debido a que es menos amigable e intuitivo en comparación con el comando adduser. Sin embargo, hay muy pocas diferencias y cualquiera de los dos se puede usar.
Para obtener más información sobre useradd, ejecuta el comando man o añade --help para obtener un resumen rápido.
man useradduseradd --help
Para agregar un usuario utilizando useradd, escribe useradd y el nombre del inicio de sesión que deseas crear.
sudo useradd --create-home testuserEn el caso anterior, se creará el usuario “testuser”. Por defecto, este comando solo creará el usuario y nada más. Si necesitas un directorio personal para este usuario, añade el flag --create-home para crear el directorio personal para el usuario.
Utilizando el comando adduser
El comando adduser es un script de perl que creará el usuario de manera similar al comando useradd. Lo que lo hace diferente es que es un comando interactivo y te pedirá que establezcas la contraseña, la ruta del directorio personal, etc. Ten en cuenta que en algunas distribuciones, como Red Hat y CentOS, adduser es un enlace simbólico a useradd, y en otras distribuciones como Arch Linux, adduser viene como un paquete que no está instalado por defecto.
Al usar este comando, se creará un grupo para el usuario utilizando el inicio de sesión del usuario por defecto. Otros valores predeterminados pueden encontrarse típicamente en el archivo de useradd en “/etc/default”.
En este archivo puedes cambiar los ajustes predeterminados para los usuarios creados con useradd, como el shell y el directorio personal.

Ejecuta el comando adduser similar a lo siguiente:
sudo adduser testuser
Esto te pedirá los valores predeterminados que deseas establecer y te preguntará por la contraseña.
También lee: Cómo gestionar la contraseña de tu usuario desde el terminal en Linux
Contraseñas y seguridad
Agregar una contraseña para un usuario requerirá ejecutar el comando passwd.
sudopasswd testuserSin privilegios de superusuario, ejecutar passwd solo cambiará la contraseña del usuario que ha iniciado sesión. Este comando probará la complejidad de la contraseña. En Ubuntu, los requisitos de la contraseña se establecen en el archivo common-password ubicado en “/ec/pam.d.” Más información sobre cómo actualizar la complejidad se puede encontrar en la página man de pam-auth-update.

Actualizando la información del usuario
Una vez que un usuario está en el sistema, puedes revisar el archivo “/etc/passwd” para ver la información del usuario y la contraseña encriptada. Si necesitas realizar cambios en un usuario, deberás utilizar el comando usermod.

Como ejemplo, para cambiar el id de usuario de la cuenta testuser4 creada anteriormente, ejecutarías el comando:
sudo usermod -u2022 testuser2Luego puedes revisar los cambios en el archivo “/etc/passwd”.
Ten cuidado al cambiar información crítica como el nombre de inicio de sesión, o como en este caso, el id de usuario. Revisa la página man de usermod para ver lo que necesitarás hacer si esos elementos son cambiados.
Agregando usuarios a un grupo
Hay momentos en que necesitas agregar usuarios a un grupo para que tengan el permiso necesario para ejecutar ciertas tareas.
Para agregar un usuario a un grupo:
sudo usermod -a-G groupname usernameTen en cuenta que el flag -a es necesario para “anexar” el grupo al usuario. De lo contrario, podrías arriesgarte a eliminar al usuario del grupo “sudo” si se supone que el usuario debe tener permiso de superusuario.
Alternativamente, puedes usar el comando gpasswd para agregar/eliminar usuario de/a grupo.
sudo gpasswd -a username groupnamePara eliminar un usuario de un grupo:
sudo gpasswd -d username groupnameEliminando usuarios
Similar a los otros comandos de usuario, eliminar un usuario está precedido por “user” y la acción. En este caso, necesitarás usar el comando userdel.

Ten en cuenta que userdel no eliminará un usuario si hay procesos utilizando la cuenta de ese usuario.
sudo userdel testuser4Visualizando los registros de usuarios
Dependiendo de tu distribución, deberás verificar el registro de autenticación o el registro seguro ubicado en “/var/log” para revisar los inicios de sesión de los usuarios. Este archivo de registro te proporcionará los inicios de sesión en tu sistema tan pronto como ocurran. Este es un elemento crítico para monitorear eventos en caso de una violación y solo para asegurar que las cosas estén funcionando como se desea.
sudotail/var/log/auth.logLa gestión de usuarios es una parte crucial de la gestión de servidores Linux si hay más de una persona que utilizará tu sistema. Utilizar la línea de comandos te permitirá administrar rápidamente a los usuarios, así como tener un historial de creación de cuentas y cambios. Quizás uno de los mejores usos sería automatizar la creación con un script de shell si se necesitan múltiples cuentas a la vez.
De cualquier manera, asegúrate de revisar tus cuentas de manera regular y elimina cuentas que ya no se necesiten. Asegúrate de que el acceso se otorgue solo a quienes actualmente necesitan acceso y monitorea tus registros con frecuencia.