Modo Numérico
Dígitos Octal de Permisos
4Lectura (r)
2Escritura (w)
1Ejecución (x)
0Sin permiso
Formato de Tres Dígitos
chmod 755 file # rwxr-xr-x chmod 644 file # rw-r--r-- chmod 700 file # rwx------ chmod 600 file # rw-------
Cálculo de Dígitos
7 (4+2+1)rwx — lectura, escritura, ejecución
6 (4+2)rw- — lectura, escritura
5 (4+1)r-x — lectura, ejecución
4r-- — solo lectura
3 (2+1)-wx — escritura, ejecución
2-w- — solo escritura
1--x — solo ejecución
0--- — sin permisos
Modo Simbólico
Sintaxis: [ugoa][+-=][rwxXst]
uUsuario (propietario)
gGrupo
oOtros
aTodos (u + g + o)
+Agregar permiso
-Quitar permiso
=Establecer permiso exacto
Ejemplos Simbólicos
chmod u+x file # propietario: agregar ejecución chmod g-w file # grupo: quitar escritura chmod o=r file # otros: solo lectura chmod a+r file # todos: agregar lectura chmod u+x,g-w,o= file # operaciones combinadas
Permisos Comunes
Presets de Permisos de Archivo
644 rw-r--r--Archivo estándar — propietario rw, otros lectura
755 rwxr-xr-xScript / binario — propietario rwx, otros rx
600 rw-------Archivo privado — solo propietario
400 r--------Solo lectura privada (claves SSH)
666 rw-rw-rw-Archivo escribible por todos (evitar)
777 rwxrwxrwxAcceso total para todos (evitar)
Referencia Rápida
chmod 644 *.html # web: propietario rw, mundo r chmod 755 *.sh # scripts: propietario rwx, mundo rx chmod 600 ~/.ssh/id_* # claves SSH: solo propietario chmod 400 secret.pem # certificado: solo lectura
Permisos de Directorio
Qué Significan los Permisos en Directorios
r (4)Listar contenido del directorio (ls)
w (2)Crear / eliminar archivos en el directorio
x (1)Acceder (entrar con cd) al directorio
rx (5)Listar + acceder (lectura típica)
rwx (7)Control total
Permisos Comunes de Directorio
chmod 755 dir/ # estándar: propietario rwx, otros rx chmod 700 dir/ # privado: solo propietario chmod 750 dir/ # acceso grupo: propietario rwx, grupo rx chmod 1777 /tmp # sticky bit: solo propietario puede eliminar
Bits Especiales
Setuid, Setgid, Sticky
Setuid (4xxx)Ejecutar como propietario del archivo (ej., passwd)
Setgid (2xxx)Ejecutar como grupo del archivo / heredar grupo del dir
Sticky (1xxx)Solo el propietario puede eliminar archivos (ej., /tmp)
Establecer Bits Especiales
chmod 4755 program # setuid: -rwsr-xr-x chmod 2755 dir/ # setgid: drwxr-sr-x chmod 1755 dir/ # sticky: drwxr-xr-t chmod u+s program # setuid simbólico chmod g+s dir/ # setgid simbólico chmod +t dir/ # sticky bit simbólico
Recursivo
Cambios Recursivos de Permisos
chmod -R 755 dir/ # establecer todo a 755 recursivamente chmod -R u+rwX dir/ # propietario rw, +x solo en dirs chmod -R go-w dir/ # quitar escritura de grupo/otros
Archivos vs Directorios con find
# establecer directorios a 755, archivos a 644 find /path -type d -exec chmod 755 {} + find /path -type f -exec chmod 644 {} +
X Mayúscula — Ejecución Condicional
x (minúscula)Agregar ejecución a todos los archivos y dirs
X (mayúscula)Agregar ejecución solo a dirs y archivos ya ejecutables
umask
Cómo Funciona umask
umaskMostrar umask actual
umask 022Archivos: 644, Dirs: 755
umask 077Archivos: 600, Dirs: 700
umask 002Archivos: 664, Dirs: 775
Cálculo de umask
# permiso por defecto menos umask = efectivo # Files: 666 - 022 = 644 (rw-r--r--) # Dirs: 777 - 022 = 755 (rwxr-xr-x) umask # mostrar umask actual umask 022 # valor típico por defecto umask -S # mostrar en notación simbólica
Patrones Comunes
Casos de Uso Cotidianos
Raíz webchmod -R 755 /var/www/html
Archivo de configchmod 600 app.conf
Directorio SSHchmod 700 ~/.ssh
SSH authorized_keyschmod 600 ~/.ssh/authorized_keys
Directorio compartidochmod 2775 /shared (setgid)
Archivos de logchmod 640 /var/log/app.log
Scripts cronchmod 755 /etc/cron.daily/myjob
Directorio temporalchmod 1777 /tmp (sticky)
Ver Permisos
ls -l file.txt # mostrar permisos ls -ld dir/ # mostrar permisos de directorio stat -c '%A %a %n' * # simbólico + numérico + nombre getfacl file.txt # mostrar ACLs (si se usan)