Introducción
En este laboratorio realizará operaciones básicas de gestión de cuentas de usuario en sistemas Linux. Aprenderá a crear, modificar y eliminar cuentas de usuario, así como a establecer y cambiar contraseñas. Estas son habilidades fundamentales para la administración de sistemas Linux. No se preocupe si está empezando a usar Linux: le explicaremos todo paso a paso.
Crear un usuario nuevo
Comience creando una cuenta de usuario nueva llamada «joker».
- Abra un terminal. En Linux, el terminal es una interfaz de texto donde puede introducir comandos.
- Escriba el comando siguiente y pulse Intro:
sudo useradd joker
Estos son los elementos del comando:
sudoes un comando que le concede temporalmente privilegios de superusuario (administrador). Se utiliza porque crear un usuario nuevo requiere permisos elevados.useraddes el comando para crear un usuario nuevo.jokeres el nombre de usuario que se está creando.
Nota: Si intenta ejecutar este comando sin sudo, aparecerá un error de «permiso denegado». Los usuarios normales no pueden crear cuentas de usuario nuevas; esta tarea está reservada para los administradores del sistema.
Esto muestra la diferencia entre un superusuario y un usuario normal. Como usuario normal, no puede crear cuentas de usuario nuevas, pero puede usar sudo para elevar temporalmente sus privilegios y realizar esta tarea administrativa.
- Para comprobar que el usuario se creó, examine el archivo
/etc/passwd:
sudo grep -w 'joker' /etc/passwd
El archivo /etc/passwd funciona como una agenda de cuentas de usuario. Cada línea representa una cuenta de usuario y contiene distintos datos separados por dos puntos (:).
Debería ver un resultado similar a este:
joker:x:5001:5001::/home/joker:/bin/sh
Esta línea muestra:
- Nombre de usuario: joker
- Contraseña: x (la contraseña real se almacena de forma segura en otro lugar)
- ID de usuario: 5001
- ID de grupo: 5001
- Directorio personal:
/home/joker, aunque todavía no se ha creado - Intérprete de comandos predeterminado:
/bin/sh
Crear un usuario con un directorio personal
Ahora cree otro usuario llamado «bob» y asígnele un directorio personal.
- Ejecute el comando siguiente:
sudo useradd -m bob
La opción -m indica al sistema que cree un directorio personal para el usuario. El directorio personal es una carpeta propia donde el usuario puede guardar sus archivos y configuraciones.
- Compruebe que se creó el directorio personal:
sudo ls -ld /home/bob
Debería ver un resultado similar a este:
drwxr-x--- 2 bob bob 57 Jan 19 13:33 /home/bob
Este resultado muestra lo siguiente:
- La
dinicial indica que se trata de un directorio. rwxr-x---muestra quién puede leer, escribir o ejecutar en este directorio.- Las dos apariciones de
bobindican que tanto el usuario propietario como el grupo propietario del directorio sonbob. 57es el tamaño del directorio en bytes.Jan 19 13:33indica cuándo se creó el directorio./home/bobes la ubicación del directorio.
Establecer la contraseña de un usuario
Ahora debe establecer una contraseña para los usuarios nuevos. Establezca una contraseña para «joker».
- Ejecute el comando siguiente:
sudo passwd joker
- Se le pedirá que introduzca la contraseña nueva dos veces. Para este laboratorio, use una contraseña sencilla como «password123».
Importante: La contraseña no aparecerá mientras la escribe. Esta es una medida de seguridad de Linux para evitar que otras personas la vean. Si introduce una contraseña incorrecta por accidente, puede intentarlo de nuevo. Importante: Recuerde esta contraseña. La necesitará más adelante en el laboratorio.
- Si la operación se realiza correctamente, verá un mensaje que indica «passwd: password updated successfully».
Nota: En un entorno real, use siempre contraseñas seguras y únicas.
Internamente, Linux almacena las contraseñas cifradas en un archivo seguro llamado /etc/shadow. Esto es más seguro que guardarlas en /etc/passwd, donde cualquiera podría verlas.
Modificar las propiedades de un usuario
Linux permite cambiar distintos ajustes de una cuenta de usuario después de crearla. Como ejemplo, cambie el directorio personal de joker.
- Ejecute el comando siguiente:
sudo usermod -d /home/wayne joker
Esto hace lo siguiente:
usermodes el comando para modificar la configuración de una cuenta de usuario.-d /home/wayneespecifica el nuevo directorio personal.jokeres el usuario que se está modificando.
- Compruebe el cambio:
sudo grep -w 'joker' /etc/passwd
-w se utiliza para buscar la palabra completa y grep se utiliza para buscarla en el archivo. En el resultado debería comprobar que el directorio personal de joker se ha actualizado.
Cambiar el intérprete de comandos de un usuario
Otro ajuste importante que puede modificar es el intérprete de comandos predeterminado del usuario. El intérprete de comandos es el programa que interpreta y ejecuta los comandos que escribe en el terminal.
De forma predeterminada, el usuario «joker» utiliza /bin/sh como intérprete de comandos. Aunque sh (Bourne Shell) es un intérprete básico presente en la mayoría de los sistemas similares a Unix, bash (Bourne Again Shell) ofrece más funciones y, por lo general, resulta más fácil de usar.
Cambiar el intérprete de comandos de joker a bash ofrece varias ventajas:
- Una interfaz de línea de comandos más intuitiva.
- Más posibilidades para crear scripts.
- Mejores opciones para personalizar el entorno del usuario.
Para realizar el cambio:
- Cambie el intérprete de comandos predeterminado de joker a bash:
sudo usermod -s /bin/bash joker
- Compruebe el cambio:
sudo grep -w 'joker' /etc/passwd
Debería ver /bin/bash al final de la entrada de joker. Esto indica que bash es ahora su intérprete de comandos predeterminado.
Después de este cambio, joker tendrá acceso al entorno bash, que ofrece más funciones, cada vez que inicie sesión o abra una sesión nueva de terminal.
Añadir un usuario a un grupo
En Linux, los grupos se utilizan para organizar usuarios y gestionar permisos. Un grupo importante es el grupo sudo, que concede privilegios administrativos a sus usuarios. Como ejemplo, añada joker al grupo sudo.
¿Por qué añadir un usuario al grupo sudo?
- Administración del sistema: los usuarios del grupo sudo pueden realizar tareas administrativas en todo el sistema.
- Instalación de software: los miembros del grupo sudo pueden instalar y actualizar paquetes de software.
- Cambios de configuración: pueden modificar archivos de configuración del sistema.
- Gestión de usuarios: pueden crear, modificar o eliminar otras cuentas de usuario.
Tal vez se pregunte: «¿Por qué añadir a alguien al grupo sudo si siempre podemos usar el comando sudo?». Estas son las razones:
- Comodidad: los usuarios del grupo sudo pueden usar sudo sin conocer la contraseña de root. En su lugar, utilizan su propia contraseña.
- Control detallado: los administradores del sistema pueden configurar sudo para permitir que determinados usuarios ejecuten solo algunos comandos con privilegios de superusuario.
- Responsabilidad: a diferencia de compartir la contraseña de root, sudo registra quién ejecutó cada comando, lo que mejora la seguridad y la trazabilidad.
- Seguridad: en general, es más seguro tener cuentas identificadas con acceso a sudo que compartir la contraseña de root entre varios administradores.
En un entorno real, normalmente añadiría un usuario al grupo sudo si:
- Es administrador del sistema o forma parte del personal de TI y necesita realizar tareas de mantenimiento habituales.
- Es desarrollador y necesita instalar software específico o realizar cambios en el sistema para su trabajo.
- Es un usuario avanzado que necesita privilegios elevados para determinadas tareas, pero no desea proporcionarle la contraseña de root.
Recuerde que añadir un usuario al grupo sudo le concede un control considerable sobre el sistema. Por eso, debe hacerlo con cuidado y solo cuando sea necesario.
Ahora, añada joker al grupo sudo:
- Ejecute este comando:
sudo usermod -aG sudo joker
Esto hace lo siguiente:
usermodes el comando para modificar cuentas de usuario.-aGsignifica «añadir al grupo» (agrega el usuario a un grupo sin eliminarlo de los demás grupos).sudoes el grupo al que se añadirá el usuario.jokeres el usuario que se está modificando.
- Compruebe el cambio:
groups joker
Debería ver sudo entre los grupos de joker.
- Para comprobar el efecto de este cambio, cambie al usuario joker e intente ejecutar un comando que requiera privilegios de sudo:
su - joker
Este comando cambia el usuario actual (labex) por el usuario joker. Se le pedirá la contraseña de joker. Recuerde que es la contraseña que estableció anteriormente (password123). Mientras escribe la contraseña, no verá ningún carácter en pantalla; esta es una medida de seguridad.
- Después de iniciar sesión como joker, intente ver un archivo que normalmente requiere privilegios de root:
sudo cat /etc/shadow
Introduzca de nuevo la contraseña de joker cuando se le solicite. Debería poder ver el contenido del archivo /etc/shadow, que normalmente solo es accesible para root. Esto confirma que joker ya tiene privilegios de sudo.
- Cuando termine, escriba
exitpara volver a su cuenta de usuario original (labex).
Nota: En un entorno de producción, tenga mucho cuidado al añadir usuarios al grupo sudo. Un gran poder conlleva una gran responsabilidad.
Bloquear y desbloquear cuentas de usuario
En ocasiones, puede necesitar desactivar temporalmente una cuenta de usuario sin eliminarla.
- Bloquee la cuenta de joker:
sudo passwd -l joker
La opción -l bloquea la contraseña.
- Intente cambiar al usuario joker:
su - joker
Se le pedirá una contraseña. Introduzca la contraseña que estableció antes para joker («password123» si siguió nuestra sugerencia).
Debería ver un mensaje de «authentication failure». Esto indica que la cuenta se ha bloqueado correctamente.
- Ahora desbloquee la cuenta:
sudo passwd -u joker
La opción -u desbloquea la contraseña.
- Intente cambiar de nuevo al usuario joker:
su - joker
Introduzca la contraseña cuando se le solicite. Esta vez debería poder cambiar correctamente al usuario joker.
Escriba exit para volver a su cuenta de usuario original antes de continuar con el paso siguiente.
Eliminar un usuario
Por último, aprenderá a eliminar un usuario. Elimine el usuario «bob» que creó anteriormente.
- Elimine bob y su directorio personal:
sudo userdel -r bob
El comando userdel elimina cuentas de usuario. La opción -r elimina el directorio personal del usuario y su cola de correo.
- Compruebe que el usuario se eliminó:
sudo grep -w 'bob' /etc/passwd
sudo ls -ld /home/bob
Ninguno de los dos comandos debería devolver resultados. Esto significa que el usuario y su directorio personal se eliminaron correctamente.
Resumen
¡Enhorabuena! Ha completado el laboratorio de gestión de cuentas de usuario en Linux. Ha aprendido a:
- Crear cuentas de usuario nuevas.
- Establecer contraseñas de usuario.
- Modificar propiedades de los usuarios, como el directorio personal y el intérprete de comandos predeterminado.
- Añadir usuarios a grupos.
- Bloquear y desbloquear cuentas de usuario.
- Eliminar cuentas de usuario.
También ha conocido conceptos importantes de Linux, como el archivo /etc/passwd, los directorios personales, los intérpretes de comandos y los grupos de usuarios. Estas son habilidades fundamentales para la administración de sistemas Linux. Recuerde que, en situaciones reales, debe seguir siempre las políticas de seguridad de su organización al gestionar cuentas de usuario.



