Calculadora chmod: permisos de archivos en Linux (octal ⇄ rwx)

Marca las casillas de lectura, escritura y ejecución para obtener el modo octal y el comando chmod, o descifra 755, 644 y rwxr-xr-x.

Permisos
QuiénLecturaEscrituraEjecuciónDígito
Propietario (user)7
Grupo5
Otros5
Pega “-rw-r--r--” o “drwxr-sr-x” directamente desde ls -l.
Octal
0755
ls -l
-rwxr-xr-x
Comando
chmod 755 deploy.sh
chmod u=rwx,g=rx,o=rx deploy.sh
Qué significa 755 para un archivo
  • Propietario (7): leer, escribir, ejecutar
  • Grupo (5): leer, ejecutar
  • Otros (5): leer, ejecutar
Valores habituales
Evaluar una expresión chmod simbólica

Mira qué hace chmod u+x,go-w con un modo existente. Admite u/g/o/a, + - =, r w x X s t y copias como g=u. Usa el ajuste de directorio de arriba para X.

644 (rw-r--r--) → 744 (rwxr--r--)

Funciona por completo en tu navegador. Nada de lo que introduces se envía a ningún sitio. Ver todas las herramientas gratis.

¿Encontraste un problema o algo que podría mejorar? Leemos todos los mensajes y lo arreglamos rápido.

Esta calculadora chmod convierte los permisos de archivos de Unix y Linux entre una cuadrícula de casillas, el número octal que usa chmod (755, 644, 2775) y la cadena rwxr-xr-x que muestra ls -l. Cambia cualquiera de ellos y los demás se actualizan, junto con un comando chmod listo para pegar y una explicación en lenguaje claro de quién puede hacer qué. Maneja los bits setuid, setgid y sticky, y explica cómo los mismos bits significan cosas distintas en un directorio.

También evalúa expresiones chmod simbólicas como u+x,go-w o a=rX sobre un modo inicial, con las mismas reglas que GNU chmod, para que compruebes qué hará un comando antes de ejecutarlo en un servidor. Una diferencia: cuando omites la letra u/g/o, el chmod real aplica tu umask, mientras que esta herramienta lo trata como “a” (como con una umask de 000). No toca tus archivos; es una calculadora.

Cómo usarla

  1. Marca las casillas de lectura, escritura y ejecución para propietario, grupo y otros, o escribe un modo octal como 750, o pega una cadena como -rw-r--r-- de ls -l.
  2. Marca “Es un directorio” si estás asignando permisos a una carpeta; la explicación cambia, porque x en un directorio significa “puede entrar”.
  3. Escribe el nombre del archivo, marca Recursivo si hace falta y copia el comando chmod.
  4. Para comprobar un cambio relativo, introduce el modo actual y una expresión como u+x,go-w en el cuadro de expresión y lee el resultado.
  5. Usa un valor predefinido cuando solo necesites la respuesta habitual: 644 para archivos, 755 para directorios y scripts, 600 para claves privadas.

Preguntas frecuentes

¿Qué significa chmod 755?

Cada dígito es una suma de lectura (4), escritura (2) y ejecución (1), para propietario, grupo y otros, en ese orden. 7 = 4+2+1, así que el propietario puede leer, escribir y ejecutar; 5 = 4+1, así que el grupo y los demás pueden leer y ejecutar, pero no escribir. Como cadena es rwxr-xr-x. Es el modo estándar para directorios y para scripts o programas que todo el mundo debe poder ejecutar.

¿Qué diferencia hay entre 644 y 755?

Solo el bit de ejecución. 644 (rw-r--r--) permite al propietario leer y escribir y a todos los demás leer; es el modo normal para documentos, páginas web, imágenes y configuración. 755 añade ejecución para todos, algo que un directorio necesita para poder entrar en él y un script para poder ejecutarse. Dar 755 a archivos normales es inofensivo pero desordenado; dar 644 a un directorio lo deja inservible para los demás.

¿Por qué chmod 777 es mala idea?

777 da a todos los usuarios del sistema permiso para modificar o sustituir el archivo, o para añadir y borrar archivos en el directorio. En un servidor web, eso significa que cualquier proceso comprometido, como un plugin vulnerable que se ejecute con otro usuario, puede reescribir tu código. La solución real habitual para un error de “permission denied” es cambiar el propietario (chown) o añadir el usuario del servidor web al grupo del archivo, y después usar 755/644 o 775/664.

¿Qué son setuid, setgid y el sticky bit?

Son el cuarto dígito octal opcional (el inicial). setuid (4) hace que un ejecutable se ejecute con los privilegios de su propietario, que es como passwd puede editar /etc/shadow. setgid (2) en un ejecutable lo ejecuta con el grupo del archivo; en un directorio hace que los archivos nuevos hereden el grupo del directorio, algo útil para carpetas compartidas de un equipo (2775). El sticky bit (1) en un directorio solo permite al propietario de un archivo borrarlo, como en /tmp (1777).

¿Qué permisos deben tener las claves SSH?

OpenSSH rechaza las claves privadas que otros pueden leer. Usa 600 (o 400) para claves privadas como ~/.ssh/id_ed25519, 644 para claves públicas (.pub), 600 para ~/.ssh/authorized_keys y ~/.ssh/config, y 700 para el propio directorio ~/.ssh. AWS y otros proveedores de nube te indican hacer chmod 400 al archivo .pem que te dan por el mismo motivo.

¿Qué significa una S o una T mayúscula en ls -l?

Una s o una t minúscula significa que el bit especial está activado y que el bit de ejecución que hay debajo también lo está. Una S o una T mayúscula significa que el bit especial está activado pero el de ejecución no, lo que suele ser un error: setuid en un archivo que nadie puede ejecutar no hace nada, así que rwSr--r-- suele indicar que alguien ejecutó chmod u+s sobre el archivo equivocado.

Bits de permiso en archivos frente a directorios

• r en un archivo: leer su contenido. En un directorio: listar los nombres que contiene (ls).

• w en un archivo: cambiar su contenido. En un directorio: crear, borrar y renombrar entradas dentro de él, pero solo junto con x. Borrar un archivo es una escritura en su directorio, no en el archivo.

• x en un archivo: ejecutarlo como programa o script. En un directorio: entrar en él (cd) y acceder por nombre a los archivos que contiene. Un directorio con r pero sin x te deja listar los nombres pero no abrir nada.

Los permisos se comprueban con la primera clase que coincide contigo: si eres el propietario, solo se aplican los bits del propietario, aunque los del grupo o los de otros sean más generosos.

Sintaxis simbólica de chmod

Un modo simbólico es una o varias cláusulas separadas por comas con la forma [quién][operador][permisos]. Quién es u (propietario), g (grupo), o (otros) o a (todos). El operador es + para añadir, - para quitar o = para fijar exactamente. Los permisos son r, w, x, X (ejecución solo si es un directorio o si ya es ejecutable para alguien), s (setuid/setgid) y t (sticky), o una sola u, g u o para copiar los bits actuales de otra clase.

Ejemplos: chmod u+x deploy.sh hace que un script sea ejecutable para su propietario. chmod go-w file quita la escritura a todos salvo al propietario. chmod -R a=rX public/ hace que un árbol sea legible por todos, con directorios accesibles y archivos no ejecutables. chmod g=u shared/ da al grupo los mismos derechos que al propietario.

Valores seguros por caso de uso

• Archivos de la raíz web: 644, directorios 755, propiedad de tu usuario de despliegue; el directorio de subidas, propiedad del usuario del servidor web, con 755.

• Secretos (.env, claves privadas, credenciales): 600, propiedad del usuario del servicio que los lee.

• Scripts de shell en un repositorio: 755. Git solo guarda el bit de ejecución, como modo de archivo 100755 o 100644; actívalo con git update-index --chmod=+x en Windows.

• Directorio compartido de un equipo: 2775 con un grupo común, para que los archivos nuevos hereden el grupo.

• Tu umask decide el punto de partida: con la habitual 022, los archivos nuevos obtienen 644 y los directorios 755; con 077, 600 y 700.

Herramientas gratis relacionadas

  • Calculadora de subredes — Red, broadcast, rango de hosts y máscara para cualquier CIDR; divide redes con VLSM, expande IPv6 y encuentra rangos que se solapan.
  • Generador de .gitignore — Combina plantillas de .gitignore para lenguajes, frameworks, editores y sistemas operativos en un solo archivo limpio.
  • Generador de expresiones cron — Crea una programación cron con menús desplegables o pega una, léela en lenguaje claro y ve las 10 próximas ejecuciones en tu zona horaria y en UTC. Gratis, en tu navegador.
  • Docker Run ⇄ Compose — Convierte un comando docker run en un servicio de docker-compose.yml, o un servicio de Compose de vuelta en docker run.