Guía rápida de chmod y permisos de archivos

Modos octal y simbólico de chmod, qué significa cada dígito, cómo leer ls -l, bits especiales y umask, en una página.

Última revisión:

AdSense Placeholder
Slot: header_reference_page
En esta página

Los permisos de un archivo indican quién puede leerlo (r), escribirlo (w) o ejecutarlo (x), por separado para tres grupos: el usuario propietario (u), el grupo del propietario (g) y otros (o). chmod los cambia. La Calculadora Chmod hace la aritmética por usted.

Cómo leer ls -l

-rwxr-xr--  1 ana  staff  1024 Oct  3 10:00 deploy.sh

El primer carácter es el tipo (- archivo, d carpeta, l enlace simbólico). Los nueve siguientes son tres grupos de tres: rwx para el propietario, r-x para el grupo y r-- para otros. Este script es entonces 754: el propietario lo puede todo, el grupo puede leerlo y ejecutarlo y otros solo leerlo.

Dígitos octales

Cada grupo recibe un dígito que es la suma de leer = 4, escribir = 2 y ejecutar = 1.

Dígito Binario Permisos
7 111 rwx leer + escribir + ejecutar
6 110 rw- leer + escribir
5 101 r-x leer + ejecutar
4 100 r-- leer
3 011 -wx escribir + ejecutar
2 010 -w- escribir
1 001 --x ejecutar
0 000 --- ninguno

Modos habituales

Octal Simbólico Significado
644 -rw-r--r-- Archivo normal: usted lee y escribe, los demás leen
600 -rw------- Archivo privado: solo usted (claves SSH, secretos)
640 -rw-r----- Usted lee y escribe, su grupo lee, el resto nada
664 -rw-rw-r-- Usted y su grupo escriben, el resto lee
755 -rwxr-xr-x Programa o carpeta: usted lo hace todo, el resto lee y ejecuta
700 -rwx------ Programa o carpeta privados: solo usted
750 -rwxr-x--- Usted lo hace todo, su grupo lee y ejecuta, el resto nada
775 -rwxrwxr-x Carpeta compartida: usted y su grupo lo hacen todo
444 -r--r--r-- Solo lectura para todos
400 -r-------- Solo lectura, y solo para usted
777 -rwxrwxrwx Todos pueden hacerlo todo: evítelo

En una carpeta, r permite listar su contenido, w permite crear y borrar entradas y x permite entrar y llegar a lo que contiene. Una carpeta sin x queda prácticamente bloqueada, por eso las carpetas suelen ser 755 o 700 y no 644.

Modo simbólico

Describa el cambio en lugar del valor final: quién (u, g, o o a para todos), un operador (+ añadir, - quitar, = fijar exactamente) y los permisos.

chmod u+x script.sh        # el propietario puede ejecutarlo
chmod go-w notes.txt       # quita escritura a grupo y otros
chmod a=r readme.txt       # todos: solo lectura
chmod u=rwx,g=rx,o= tool   # equivale a 750
chmod -R u+rwX,go-rwx dir  # recursivo; la X mayúscula añade ejecución solo a carpetas

Cambiar muchos archivos a la vez

find . -type d -exec chmod 755 {} +     # todas las carpetas
find . -type f -exec chmod 644 {} +     # todos los archivos normales

Poner 755 a todo vuelve ejecutables los archivos de datos, y chmod -R 777 casi nunca es la solución a un error de «permiso denegado». Averigüe qué usuario necesita acceso y conceda exactamente eso.

Bits especiales

Un cuarto dígito inicial fija tres bits especiales.

Bit Octal En un archivo En una carpeta
setuid 4000 se ejecuta como el propietario del archivo sin efecto en la mayoría de sistemas
setgid 2000 se ejecuta como el grupo del archivo los archivos nuevos heredan el grupo de la carpeta
sticky 1000 se ignora solo el propietario de un archivo puede borrarlo (como en /tmp)

chmod 1777 shared/ crea una carpeta escribible por todos con el bit sticky, y chmod 2775 project/ mantiene los archivos de una carpeta de equipo en un mismo grupo.

Permisos por defecto y umask

Los archivos nuevos parten de 666 y las carpetas nuevas de 777; después la umask quita bits. Con la umask habitual 022, los archivos nuevos son 644 y las carpetas 755. Con 077 son 600 y 700. Consulte la suya con umask.

Pruebe estas herramientas

AdSense Placeholder
Slot: footer_leaderboard