¡Buen día!
En ésta entrada explicaré una cuestión básica en el manejo de sistemas GNU/Linux, lo cual es la gestión de usuarios. Es facilísimo, pero igual… hay que saber cómo crear, modificar o eliminar en línea de comandos.
Creación de usuarios
A continuación, algunos detalles sobre la creación de usuarios:
- La gestión de cuentas de usuarios solo lo puede ejercer el usuario root o con privilegios.
- Cada vez que damos de alta a un usuario estamos creando un registro en el archivo /etc/passwd con la información más relevante de ese usuario.
- Cada vez que un usuario se presenta al sistema, se ejecuta el script /etc/profile para configurar el entorno de los usuarios.
Para crear usuarios se usa, se puede usar dos comandos básicamente: adduser ó useradd seguido del nombre de usuario.
Algunas de las opciones para useradd:
- -u #
Para especificar un número UID específico. Por defecto, es un correlativo de 1001 hacia arriba. - -g #
Para especificar un número GID específico. - -d directorio
Para especificar el directorio HOME del usuario. Aunque por defecto, se crea en /home/[nombre_usuario] - -s directorio_shell
Para especificar donde se encuentra otro shell que no sea el por defecto. - -e fecha
Formato MM/DD/AA – Para especificar la fecha de cambio de clave. - -c comentario
Para incluir un comentario acerca del usuario.
Tomar en cuenta que, al usar useradd, debemos posteriormente crearle una clave al usuario, lo cual se verá más abajo el cómo hacerlo.
Para no complicarse mucho la vida con tantos detalles, muchos administradores prefieren usar el comando adduser, dado que éste muestra algo parecido a un asistente para la creación del usuario.
Ejemplo de creación básica en Ubuntu:
Modificación de usuarios
Para modificar un usuario, podemos usar el comando usermod , el cual su sintaxis básica es:
- usermod [opciones] nombre_usuario
Parecida sintaxis que adduser. - Entre los datos que podemos cambiarle tenemos:
- Número de usuario (UID | -u)
- Número de grupo (GID | -g)
- Directorio HOME (-d ó -m)
- Shell (-s)
- Comentario (-c)
- Cambiar el nombre de usuario (-l)
- Asignación de grupos secundarios (-G grupo1, grupo2)
Ejemplo:
Eliminación de usuarios
Para eliminar un usuario, podemos usar el comando userdel, su sintaxis básica es:
- userdel nombre_usuario
- Al eliminar un usuario, solo se elimina el acceso pero la información del home quedaría en el sistema intacto.
- Para eliminar de forma definitiva (incluyendo el contenido del home) se ejecuta:
- sudo userdel -r nombre_usuario
Creo que es obvio, pero igual… se debe de tener cuidado con ésta última línea de comando xD
Un ejemplo en Ubuntu:
Sobre /etc/passwd
Éste archivo tan importante para la seguridad del SO, determina quién puede acceder al sistema de manera legitima y qué se puede hacer una vez dentro del sistema. Es la primera linea de defensa del sistema contra accesos no deseados.
Tomar en cuenta:
- El UID de cuenta 0, pertenece al administrador (root).
- Por debajo de UID 500 están los netamente reservados para el sistema.
- Por encima de UID 500 para los usuarios del sistema.
- Puede variar dependiendo de la distribución. En Ubuntu, es de 1000 en adelante.
Ejemplo de cómo se mira un registro de /etc/passwd
Donde:
- usuarionuevo → Nombre de la cuenta (login).
- x → Representa la clave. La clave real esta en el archivo /etc/shadow encriptada.
- 1001 → (Es el primero) UID de la cuenta.
- 1001 → (El segundo) GID del grupo principal.
- Usuario nuevo y demás separado por comas → Nombre para mostrar de la cuenta e Información variada (# de cuarto, teléfonos, etc.)
- /home/usuarionuevo → Directorio HOME del usuario. Generalmente, siempre será el nombre de login el nombre de la carpeta dentro de HOME.
- /bin/bash → Interprete de comando (shell) del usuario.
Cambio de clave del usuario en el sistema
Para cambiar la contraseña de un usuario en sistemas GNU/Linux, se utiliza el comando llamado passwd, el cual su sintaxis básica es:
- passwd nombre_usuario
- Se solicita la contraseña actual.
- Luego la nueva clave.
- Finalmente, la confirmación de la nueva clave.
- Tomar en cuenta que no es necesario tener privilegios de root o sudo para cambiar la clave del usuario actual.
Si un usuario ha olvidado su clave, solo con sudo o como root se puede establecer una nueva clave mediante éste método.
Ejemplo en Ubuntu:
Bien, ¡eso es todo! Obviamente cada comando presentado aquí tiene muchísimas más opciones (parámetros) y más tela qué cortar, pero igual… esto es únicamente información básica, pero siempre es útil ver la ayuda de cada comando con –help (Ej: adduser –help) o anteponiendo el comando man (Ej: man adduser).
¡Saludos!