Capítulo 5.1 - Gestión de Usuarios
Objetivos de Aprendizaje
Al final de este capítulo, usted será capaz de:
- Comprender el sistema de usuarios de Linux
- Crear y eliminar usuarios
- Gestionar grupos
- Comprender los archivos de configuración (/etc/passwd, /etc/group)
Introducción
Linux es un sistema multiusuario. Cada usuario tiene su propia cuenta con permisos y recursos específicos.
Tipos de Usuarios
Root (Superusuario)
Características:
- UID: 0 (siempre)
- Privilegios: Acceso completo al sistema
- Peligro: Puede modificar/eliminar todo
- Uso: Solo administración del sistema
Usuarios Normales
Características:
- UID: Generalmente ≥ 1000
- Privilegios: Limitados a sus archivos
- Home:
/home/username - Uso: Usuarios regulares
Usuarios del Sistema
Características:
- UID: 1-999 (según la distribución)
- Privilegios: Limitados, para servicios
- Home: Frecuentemente
/var/lib/serviceo/ - Uso: Servicios del sistema (www-data, mysql, etc.)
Archivos de Configuración
/etc/passwd
Contiene la información de los usuarios:
# Formato: username:password:UID:GID:comment:home:shell
root:x:0:0:root:/root:/bin/bash
user1:x:1000:1000:User One:/home/user1:/bin/bash
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
Campos:
- Username: Nombre de usuario
- Password: x (en /etc/shadow)
- UID: ID de usuario
- GID: ID de grupo principal
- Comment: Nombre completo, descripción
- Home: Directorio home
- Shell: Shell predeterminado
/etc/shadow
Contiene las contraseñas cifradas:
# Formato: username:password:last_change:min:max:warn:expire:disable
user1:$6$salt$hash:19000:0:99999:7:::
Seguridad:
- Solo legible por root
- Contraseñas cifradas
- Políticas de contraseñas
/etc/group
Contiene la información de los grupos:
# Formato: groupname:password:GID:members
root:x:0:
users:x:100:user1,user2
developers:x:1001:user1,user3
Crear un Usuario
useradd
# Usuario simple
sudo useradd username
# Con opciones
sudo useradd -m -s /bin/bash -c "Full Name" username
# -m: Crear directorio home
# -s: Shell
# -c: Comentario/descripción
# Con grupo principal
sudo useradd -g developers username
# Con grupos adicionales
sudo useradd -G sudo,developers username
# UID específico
sudo useradd -u 2000 username
adduser (Ubuntu/Debian)
Interfaz más amigable:
sudo adduser username
# Realiza preguntas interactivas
Modificar un Usuario
usermod
# Cambiar el shell
sudo usermod -s /bin/zsh username
# Cambiar el home
sudo usermod -d /new/home username
sudo usermod -m -d /new/home username # Mover archivos
# Añadir a un grupo
sudo usermod -aG sudo username
# Cambiar UID
sudo usermod -u 2001 username
# Bloquear cuenta
sudo usermod -L username
# Desbloquear
sudo usermod -U username
Eliminar un Usuario
userdel
# Eliminar usuario
sudo userdel username
# Eliminar con directorio home
sudo userdel -r username
# Forzar (si hay procesos activos)
sudo userdel -f -r username
Gestión de Grupos
Crear un Grupo
# Crear grupo
sudo groupadd developers
# Con GID específico
sudo groupadd -g 2000 developers
Modificar un Grupo
# Cambiar GID
sudo groupmod -g 2001 developers
# Renombrar
sudo groupmod -n newname oldname
Eliminar un Grupo
sudo groupdel developers
Añadir/Quitar de un Grupo
# Añadir usuario a grupo
sudo usermod -aG developers username
# Ver los grupos de un usuario
groups username
id username
Comandos Útiles
# ¿Quién soy?
whoami
id
# Cambiar de usuario
su username
su - username # Con entorno completo
# Cambiar temporalmente
sudo -u username comando
# Ver usuarios conectados
who
w
users
# Ver historial de conexiones
last
lastlog
Resumen
En este capítulo, usted ha aprendido:
Tipos: Root (UID 0), Usuarios (UID ≥1000), Sistema (1-999)
Archivos: /etc/passwd, /etc/shadow, /etc/group
Creación: useradd, adduser
Modificación: usermod
Eliminación: userdel
Grupos: groupadd, groupmod, groupdel
Comandos: whoami, id, su, sudo
Próximos Pasos
Capítulo 5.2: Gestión de Grupos
Capítulo 5.3: Permisos Avanzados
Capítulo creado el: diciembre 2024