Gestión de usuarios y grupos en Linux
1. Comandos del módulo #
| Qué quiero hacer | Linux | Windows CMD | PowerShell |
|---|---|---|---|
| Ver usuarios conectados | who, users | query user | quser |
| Cerrar sesión | logout | logoff | logoff |
| Crear usuario | adduser, useradd | net user /add | New-LocalUser |
| Eliminar usuario | userdel | net user /delete | Remove-LocalUser |
| Cambiar contraseña | passwd | net user | Set-LocalUser |
| Gestionar caducidad | chage | ❌ | ❌ |
| Ver grupos del usuario actual | groups | whoami /groups | whoami /groups |
| Crear grupo | addgroup, groupadd | net localgroup /add | New-LocalGroup |
| Modificar usuario | usermod | ❌ | Set-LocalUser |
| Eliminar grupo | groupdel | net localgroup /delete | Remove-LocalGroup |
| Cambiar grupo de archivo | chgrp | ❌ | ❌ |
| Proteger archivo (atributos) | chattr | attrib (limitado) | ❌ |
| Usuarios del sistema | /etc/passwd | ❌ | ❌ |
| Hashes de contraseñas | /etc/shadow | ❌ | ❌ |
2. who #
Muestra quién está conectado al sistema ahora mismo.
Opciones importantes #
-u→ muestra tiempo de inactividad-H→ añade cabecera-q→ solo nombres y número de usuarios
Ejemplos #
1who 2who -u 3who -q
📌 Muy útil para servidores multiusuario.
3. chattr #
Cambia atributos especiales de archivos (más allá de permisos).
Su disponibilidad y los atributos admitidos dependen del sistema de archivos.
Atributos clave #
+i→ inmutable (impide modificar o borrar el archivo mientras el atributo siga activo)-i→ quita inmutabilidad+a→ solo permite añadir-a→ quita modo append
Ejemplos #
1sudo chattr +i fichero.txt 2sudo chattr -i fichero.txt 3lsattr fichero.txt
⚠️ Ideal para proteger ficheros críticos.
4. logout #
Cierra la sesión actual.
1logout
📌 Funciona en shells de inicio de sesión, incluidas normalmente las sesiones SSH. En una shell que no sea de inicio puede ser necesario usar exit.
5. useradd #
Crea usuarios de forma manual y técnica.
Opciones importantes #
-m→ crea /home-d→ home personalizada-s→ shell-g→ grupo principal-G→ grupos secundarios
Ejemplo #
1sudo useradd -m -s /bin/bash -G sudo alumno
⚠️ No pide contraseña automáticamente.
6. adduser (recomendado) #
Interfaz amigable disponible en Debian, Ubuntu y distribuciones derivadas. No está presente de la misma forma en todas las distribuciones.
1sudo adduser alumno
✔ Crea home ✔ Pide contraseña ✔ Solicita datos del usuario
📌 Usa este en FP.
7. chfn #
Cambia información del usuario (nombre, oficina, etc.)
1chfn alumno
Campos modificables:
- Nombre completo
- Oficina
- Teléfono
8. chage #
Gestiona la caducidad de contraseñas.
Opciones clave #
-l→ ver estado-M→ días máximos-m→ días mínimos-E→ fecha de expiración
Ejemplo #
1sudo chage -l alumno 2sudo chage -M 90 alumno
📌 Muy usado en entornos corporativos.
9. passwd #
Cambia o gestiona contraseñas.
Opciones #
-l→ bloquea usuario-u→ desbloquea-d→ elimina contraseña-e→ fuerza cambio al login
Ejemplos #
1passwd 2sudo passwd alumno 3sudo passwd -l alumno
10. pwck #
Verifica el archivo /etc/passwd.
1sudo pwck
📌 Detecta usuarios corruptos o mal definidos.
11. users #
Muestra usuarios conectados (solo nombres).
1users
12. userdel #
Elimina usuarios.
Opciones #
-r→ elimina el directorio personal y el buzón de correo que gestione la herramienta; no garantiza borrar todos los archivos del usuario repartidos por el sistema
1sudo userdel alumno 2sudo userdel -r alumno
13. /etc/passwd #
Archivo público con usuarios.
Formato:
usuario:x:UID:GID:info:/home:/shell
Ejemplo:
1cat /etc/passwd
⚠️ No guarda contraseñas reales.
14. /etc/shadow #
Hashes de contraseñas y políticas de caducidad (acceso restringido).
1sudo cat /etc/shadow
📌 Aquí actúan passwd y chage.
15. /etc/adduser.conf #
Configuración por defecto de adduser.
1cat /etc/adduser.conf
Define:
- Shell por defecto
- Rango UID
- Permisos HOME
16. Gestión de grupos #
17. groupadd / addgroup #
Crea grupos.
1sudo groupadd profesores 2sudo addgroup alumnos
18. usermod #
Modifica usuarios existentes.
Opciones clave #
-aG→ añadir a grupo (¡siempre con -a!)-s→ cambiar shell-d→ cambiar home
1sudo usermod -aG sudo alumno
⚠️ Sin -a machaca grupos.
19. /etc/group #
Archivo de grupos.
1cat /etc/group
Formato:
grupo:x:GID:usuarios
20. grpck #
Comprueba integridad de grupos.
1sudo grpck
21. groups #
Muestra grupos de un usuario.
1groups 2groups alumno
22. groupdel #
Elimina grupos.
1sudo groupdel alumnos
23. groupmod #
Modifica grupos.
1sudo groupmod -n estudiantes alumnos
24. chgrp #
Cambia grupo propietario de archivos.
Opciones #
-R→ recursivo
1sudo chgrp profesores fichero.txt 2sudo chgrp -R alumnos carpeta/
Resumen del tema
Conceptos clave #
- Archivos Clave de Identidad:
/etc/passwd: base de datos pública de cuentas (usuario, UID, GID, home, shell)./etc/shadow: hashes de contraseñas y políticas de envejecimiento (acceso restringido)./etc/group: definición de grupos del sistema y sus miembros.
- Gestión Avanzada de Cuentas:
chage: auditoría y configuración de expiración de contraseñas (chage -l,chage -M 90).passwd: cambio de clave, bloqueo (-l) o desbloqueo (-u) de cuentas.userdel -r: borra un usuario eliminando también su directorio/home.
- Manejo de Grupos:
usermod -aG grupo usuario: añade un usuario a un grupo secundario (el flag-aes crítico para no sobreescribir los grupos existentes).chgrp: transfiere la pertenencia de grupo de archivos y carpetas (chgrp -R).
Qué debes recordar #
Usa siempre usermod -aG para agregar un usuario a un grupo suplementario sin eliminarlo por error de sus grupos anteriores.