Lab 5.1 - Gestión de Usuarios
Objetivos
Al final de este laboratorio, usted será capaz de:
- Crear usuarios con useradd
- Modificar usuarios con usermod
- Eliminar usuarios con userdel
- Gestionar contraseñas
- Comprender los archivos del sistema (/etc/passwd, /etc/shadow)
Prerrequisitos
- Ubuntu 24.04 instalado
- Acceso sudo/root
- Terminal abierto
Ejercicio 1: Crear Usuarios
Paso 1: useradd Básico
# Crear un usuario simple
sudo useradd testuser1
# Verificar
id testuser1
cat /etc/passwd | grep testuser1
Paso 2: useradd con Opciones
# Crear con directorio home
sudo useradd -m testuser2
# Crear con shell específico
sudo useradd -m -s /bin/bash testuser3
# Crear con grupo primario
sudo useradd -m -g users testuser4
# Crear con UID específico
sudo useradd -m -u 1500 testuser5
Paso 3: Crear con adduser (Ubuntu)
# adduser es más interactivo (recomendado en Ubuntu)
sudo adduser testuser6
# Siga los prompts:
# - Contraseña
# - Información (opcional)
Ejercicio 2: Modificar Usuarios
Paso 1: usermod Básico
# Cambiar el shell
sudo usermod -s /bin/zsh testuser1
# Verificar
grep testuser1 /etc/passwd
Paso 2: Modificar el Directorio Home
# Cambiar el directorio home
sudo usermod -d /home/nuevo-home testuser1
# Mover el contenido
sudo usermod -m -d /home/nuevo-home testuser1
Paso 3: Añadir a Grupos
# Añadir a un grupo secundario
sudo usermod -aG sudo testuser1
# Verificar
groups testuser1
id testuser1
Paso 4: Bloquear/Desbloquear
# Bloquear una cuenta
sudo usermod -L testuser1
# Verificar
sudo passwd -S testuser1
# Desbloquear
sudo usermod -U testuser1
Ejercicio 3: Contraseñas
Paso 1: Definir una Contraseña
# Definir la contraseña
sudo passwd testuser1
# Definir sin prompt
echo "testuser1:motdepasse" | sudo chpasswd
Paso 2: Expiración de la Contraseña
# Forzar cambio en el próximo inicio de sesión
sudo passwd -e testuser1
# Definir expiración
sudo chage -M 90 testuser1 # Expira en 90 días
# Ver la información
sudo chage -l testuser1
Paso 3: Política de Contraseñas
# Ver la configuración
cat /etc/pam.d/common-password
# Instalar libpam-pwquality para política estricta
sudo apt install libpam-pwquality
# Configuración: /etc/security/pwquality.conf
Ejercicio 4: Archivos del Sistema
Paso 1: /etc/passwd
# Ver el archivo
cat /etc/passwd
# Formato: username:x:UID:GID:comment:home:shell
# Ejemplo: testuser1:x:1001:1001::/home/testuser1:/bin/bash
# Analizar
awk -F: '{print $1, $3, $7}' /etc/passwd
Paso 2: /etc/shadow
# Ver (requiere sudo)
sudo cat /etc/shadow
# Formato: username:password_hash:last_change:min:max:warn:inactive:expire
# Ver la información de un usuario
sudo grep testuser1 /etc/shadow
Paso 3: /etc/group
# Ver los grupos
cat /etc/group
# Formato: groupname:x:GID:members
# Ver los grupos de un usuario
groups testuser1
id testuser1
Ejercicio 5: Eliminar Usuarios
Paso 1: userdel Básico
# Eliminar un usuario (mantiene el home)
sudo userdel testuser1
# Verificar
id testuser1 # Ya no debería existir
ls -la /home/ # Home sigue ahí
Paso 2: Eliminar con Home
# Eliminar usuario y home
sudo userdel -r testuser2
# Verificar
ls -la /home/ # Home eliminado
Paso 3: Eliminar con deluser (Ubuntu)
# deluser es más seguro (Ubuntu)
sudo deluser testuser3
# Eliminar con home
sudo deluser --remove-home testuser4
Ejercicio 6: Práctica Completa
Paso 1: Crear un Usuario Desarrollador
# Crear con todas las opciones
sudo useradd -m -s /bin/bash -G sudo,developers -c "Desarrollador" devuser
# Definir contraseña
sudo passwd devuser
# Verificar
id devuser
groups devuser
Paso 2: Script de Creación
# Script para crear un usuario
cat > create-user.sh << 'EOF'
#!/bin/bash
USERNAME=$1
FULLNAME=$2
GROUPS=$3
if [ -z "$USERNAME" ]; then
echo "Usage: $0 username [fullname] [groups]"
exit 1
fi
# Crear usuario
sudo useradd -m -s /bin/bash -c "$FULLNAME" "$USERNAME"
# Añadir a grupos si se especifican
if [ -n "$GROUPS" ]; then
sudo usermod -aG "$GROUPS" "$USERNAME"
fi
# Definir contraseña
sudo passwd "$USERNAME"
echo "Usuario $USERNAME creado"
id "$USERNAME"
EOF
chmod +x create-user.sh
# Usar
./create-user.sh "newuser" "Nuevo Usuario" "sudo,users"
Verificación
Checklist
Verifique que puede:
- Crear usuarios (useradd, adduser)
- Modificar usuarios (usermod)
- Gestionar contraseñas (passwd, chage)
- Comprender /etc/passwd y /etc/shadow
- Eliminar usuarios (userdel, deluser)
- Gestionar los grupos de usuarios
Preguntas de Reflexión
-
¿Cuál es la diferencia entre useradd y adduser?
- useradd: Bajo nivel, menos interactivo
- adduser: Alto nivel, más amigable (Ubuntu)
-
¿Por qué /etc/shadow está separado de /etc/passwd?
- Seguridad: /etc/passwd es legible por todos
- /etc/shadow está protegido (contraseñas hasheadas)
-
¿Cuándo usar userdel -r?
- Cuando se quiere eliminar completamente el usuario
- Atención: también elimina el directorio home
Próximos Pasos
- Lab 5.2: Gestión de Grupos
- Lab 5.3: Permisos Avanzados
- Capítulo 5.1: Gestión de Usuarios
Lab creado el: Diciembre 2024 - Probado en Ubuntu 24.04