Saltar al contenido
Underc0de /foro

Cheatsheet: Permisos y usuarios en Linux

$ cat cheatsheet/permisos-y-usuarios-en-linux

Referencia rápida para consultar y gestionar usuarios, grupos, permisos, propietarios, bits especiales, ACL y sudo en Linux, con comandos de auditoría para endurecer tu propio sistema.

⬇ Descargar PDFGratis con tu cuenta de Underc0de · ya tengo cuenta

Identidad y sesiones

Código: bash
whoami    # Muestra el usuario efectivo actual
id    # Muestra UID, GID y grupos del usuario actual
id ana    # Muestra UID, GID y grupos de otro usuario
groups    # Lista los grupos del usuario actual
w    # Usuarios conectados y qué están ejecutando
last -n 10    # Últimos 10 inicios de sesión registrados
getent passwd ana    # Muestra la entrada de cuenta de ana

Gestión de usuarios

Código: bash
sudo useradd -m -s /bin/bash ana    # Crea usuario con directorio home y shell bash
sudo passwd ana    # Asigna o cambia la contraseña de ana
sudo usermod -aG dev ana    # Agrega ana al grupo dev sin quitar otros
sudo usermod -L ana    # Bloquea la contraseña de la cuenta
sudo usermod -U ana    # Desbloquea la contraseña de la cuenta
sudo chage -l ana    # Muestra la política de vencimiento de contraseña
sudo chage -M 90 ana    # Obliga a cambiar la contraseña cada 90 días
sudo userdel -r ana    # Elimina el usuario junto con su home

Grupos

Código: bash
sudo groupadd dev    # Crea el grupo dev
getent group dev    # Muestra el grupo dev y sus miembros
sudo gpasswd -a ana dev    # Agrega ana al grupo dev
sudo gpasswd -d ana dev    # Quita ana del grupo dev
newgrp dev    # Abre shell con dev como grupo principal
sudo groupdel dev    # Elimina el grupo dev

Permisos básicos

Código: bash
ls -l archivo.txt    # Muestra permisos, propietario y grupo
stat -c '%A %a %U:%G' archivo.txt    # Permisos simbólicos, octales y propietario
chmod 644 archivo.txt    # Lectura/escritura dueño, solo lectura resto
chmod 750 script.sh    # Todo dueño, lectura y ejecución grupo, nada otros
chmod u+x script.sh    # Da permiso de ejecución al dueño
chmod o= archivo.txt    # Quita todos los permisos a otros
chmod -R g-w proyecto/    # Quita escritura al grupo de forma recursiva

Propietarios y umask

Código: bash
sudo chown ana archivo.txt    # Cambia el dueño del archivo a ana
sudo chown ana:dev archivo.txt    # Cambia dueño y grupo a la vez
sudo chown -R ana:dev /srv/proyecto    # Cambia dueño y grupo recursivamente
chgrp dev archivo.txt    # Cambia solo el grupo del archivo
umask    # Muestra la máscara de permisos por defecto
umask 027    # Nuevos archivos sin permisos para otros

Permisos especiales y atributos

Código: bash
chmod u+s programa    # Activa SUID: se ejecuta con UID del dueño
chmod g+s compartido/    # SGID en directorio: archivos heredan el grupo
chmod +t compartido/    # Sticky bit: solo el dueño borra sus archivos
chmod 2775 compartido/    # Directorio colaborativo con SGID en octal
lsattr archivo.txt    # Lista atributos extendidos del sistema de archivos
sudo chattr +i archivo.txt    # Hace el archivo inmutable, ni root lo modifica
sudo chattr -i archivo.txt    # Quita el atributo inmutable

ACL (listas de control de acceso)

Código: bash
getfacl archivo.txt    # Muestra las ACL del archivo
setfacl -m u:ana:rw archivo.txt    # Da lectura y escritura a ana
setfacl -m g:dev:rx proyecto/    # Da lectura y acceso al grupo dev
setfacl -d -m g:dev:rwx proyecto/    # ACL por defecto para archivos nuevos del directorio
setfacl -x u:ana archivo.txt    # Quita la entrada ACL de ana
setfacl -b archivo.txt    # Elimina todas las ACL extendidas

sudo y cambio de usuario

Código: bash
sudo -l    # Lista qué comandos podés ejecutar con sudo
sudo -u ana whoami    # Ejecuta un comando como otro usuario
sudo -i    # Abre shell de login como root
su - ana    # Cambia a ana cargando su entorno
sudo visudo    # Edita /etc/sudoers validando la sintaxis
sudo visudo -f /etc/sudoers.d/dev    # Edita un archivo de reglas sudo aparte

Auditoría defensiva de permisos

Código: bash
sudo find / -xdev -perm -4000 -type f 2>/dev/null    # Busca binarios SUID para revisar
sudo find / -xdev -perm -2000 -type f 2>/dev/null    # Busca binarios SGID
sudo find / -xdev -type f -perm -0002 2>/dev/null    # Archivos escribibles por cualquier usuario
sudo find / -xdev \( -nouser -o -nogroup \) 2>/dev/null    # Archivos sin dueño o grupo válido
getcap -r / 2>/dev/null    # Lista binarios con capabilities asignadas
awk -F: '$3==0' /etc/passwd    # Detecta cuentas con UID 0 además de root
sudo awk -F: '$2==""' /etc/shadow    # Detecta cuentas sin contraseña

Para tener en cuenta

Usá siempre usermod -aG: sin la -a reemplazás todos los grupos secundarios del usuario. Nunca edites /etc/sudoers directamente; visudo valida la sintaxis y evita que te quedes sin sudo. Los SUID, capabilities y reglas sudo laxas son vectores clásicos de escalada de privilegios en CTF y auditorías autorizadas: revisalos periódicamente en tus sistemas, compará contra una línea base y eliminá lo que no sea necesario.

Redactado con el asistente Underc0de IA. Actualizado el 10/11/2026. ¿Ves un error? Contanos en el foro.

Grupo de WhatsApp