Skip to content

Grupos YUsuarios

Usuarios y grupos definen quién puede tocar qué. En lab y en servidores es la base de permisos y aislamiento.


ComandoQué haceEjemplo
useraddCrea usuario (bajo nivel).sudo useradd -m lab
adduserCrea usuario interactivo (Debian/Ubuntu).sudo adduser lab
passwdDefine o cambia contraseña.sudo passwd lab
usermodModifica cuenta (shell, grupos, bloqueo…).sudo usermod -aG sudo lab
userdelElimina usuario.sudo userdel -r lab
id / whoamiIdentidad y grupos.id lab
su / sudoCambiar de usuario / elevar.su - lab
ConceptoSignificado
useraddBajo nivel; no crea home ni pide password por defecto.
adduserScript amigable; crea home, grupo, skel y pide datos.
Uso típicouseradd en scripts; adduser a mano en Debian/Ubuntu.
Terminal window
sudo useradd francisco # solo entrada en /etc/passwd
sudo useradd -m -s /bin/bash lab
sudo adduser francisco # home + skel + password interactivo

Si usas useradd sin -m, el home hay que montarlo a mano:

Terminal window
sudo mkdir /home/francisco
sudo cp -r /etc/skel/. /home/francisco
sudo chown -R francisco:francisco /home/francisco
sudo passwd francisco

Otros útiles:

Terminal window
sudo usermod -l nuevo_nombre francisco
sudo usermod -L francisco # bloquear
sudo usermod -U francisco # desbloquear
cut -d: -f1 /etc/passwd # listar usuarios

Un grupo agrupa usuarios para compartir permisos sobre archivos/directorios.

ComandoQué haceEjemplo
groupaddCrea un grupo.sudo groupadd proyecto
groupdelElimina un grupo.sudo groupdel proyecto
groupmodRenombra o cambia GID.sudo groupmod -n nuevo viejo
usermod -aGAñade a grupos secundarios (sin quitar los actuales).sudo usermod -aG docker lab
gpasswdAdministra miembros.sudo gpasswd -a lab proyecto
groupsLista grupos de un usuario.groups lab

Cada usuario tiene:

ConceptoSignificado
Grupo primarioSuele crearse con el mismo nombre que el usuario.
Grupos secundariosExtra (sudo, docker, audio…).
/etc/groupLista de grupos y miembros.
Terminal window
sudo groupadd proyecto
sudo usermod -aG proyecto juan
sudo usermod -aG proyecto maria
sudo chown :proyecto /proyecto
sudo chmod 770 /proyecto
groups francisco
# francisco : francisco sudo video audio

ConceptoSignificado
/etc/passwdUsuarios, UID, GID, home, shell (legible).
/etc/shadowHashes de contraseñas (solo root).
/etc/groupGrupos y miembros.
/etc/gshadowSecretos/admins de grupos.
/etc/sudoersQuién puede usar sudo (editar con visudo).
/home/<user>Directorio personal.
/etc/skelPlantilla al crear home.

ConceptoSignificado
Varios usuariosAísla homes y limita quién toca qué.
Un solo usuarioProcesos sin root no pueden romper el sistema.
ServiciosCada daemon con su usuario (www-data, mysql…).
HardwareGrupos audio, video, docker controlan dispositivos.
PentestingObjetivo típico: salir de un usuario limitado hacia root.
AutomatizaciónUsuarios de sistema (-r, shell /bin/false) para daemons.
Terminal window
sudo useradd -r -s /bin/false servidor_web

Docs: man useradd, man groupadd.