Skip to content

Calculadora chmod — Permisos de archivos Linux

Convierte permisos de archivos Linux entre octal (755, 644) y símbolos rwx. Obtén comandos chmod y detecta ajustes de riesgo como 777 — gratis, directo en tu navegador.

Sin rastreo Se ejecuta en el navegador Gratis
Todo se ejecuta localmente en tu navegador: los permisos que introduces nunca salen de este dispositivo.
Permisos comunes
Matriz de permisos
Lectura (4)Escritura (2)Ejecución (1) Dígito rwx
Propietario (u) 7 rwx
Grupo (g) 5 r-x
Otros (o) 5 r-x
Bits especiales
Comando chmod
Modo numérico (absoluto)
chmod 755 file
Modo simbólico
chmod u=rwx,go=rx file
Recursivo (-R)
chmod -R 755 dir
Solo directorios
find dir -type d -exec chmod 755 {} +
Solo archivos
find dir -type f -exec chmod 644 {} +

Consejo: chmod -R u+rwX añade ejecución solo a los directorios y a los archivos que ya son ejecutables — más seguro que un -R 755 indiscriminado.

En Linux, un chmod numérico como 755 conserva un setuid/setgid existente en directorios — límpialos explícitamente con 00755, =755 o u-s,g-s (BSD/macOS los limpia por defecto).

Modo actual de un archivo: stat -c '%a' file (Linux) · stat -f '%Lp' file (macOS)

Calculadora de umask

Archivos nuevos (base 666)
644 · rw-r--r--
Directorios nuevos (base 777)
755 · rwxr-xr-x

effective = base & ~umask

Tabla de permisos de archivos Linux: valores chmod comunes

Tabla de permisos de archivos Linux: valores chmod comunes
Octal Simbólico Uso típico Propietario Grupo Otros
400 r-------- Clave privada SSH (solo lectura) r-- --- ---
600 rw------- Archivos privados, claves SSH rw- --- ---
644 rw-r--r-- Páginas web, archivos de configuración rw- r-- r--
664 rw-rw-r-- Archivos editables por el grupo rw- rw- r--
666 rw-rw-rw- Cualquiera puede editar — evítalo rw- rw- rw-
700 rwx------ Directorios privados rwx --- ---
755 rwxr-xr-x Scripts, directorios web rwx r-x r-x
775 rwxrwxr-x Directorios compartidos del grupo rwx rwx r-x
777 rwxrwxrwx Cualquiera puede hacer todo — evítalo rwx rwx rwx
1777 rwxrwxrwt Dirs temporales compartidos (/tmp) rwx rwx rwt

Los dígitos de permisos 0-7 de un vistazo

Los dígitos de permisos 0-7 de un vistazo
Dígito Binario rwx Significado
0 000 --- Sin permisos
1 001 --x Solo ejecución
2 010 -w- Solo escritura
3 011 -wx Escritura + ejecución
4 100 r-- Solo lectura
5 101 r-x Lectura + ejecución
6 110 rw- Lectura + escritura
7 111 rwx Lectura + escritura + ejecución
Revisado frente a la semántica POSIX de chmod y el manual de GNU coreutils; las reglas de mayúsculas de s/S y t/T, el orden de las cláusulas y el comportamiento de GNU de conservar setuid/setgid en directorios verificados con fuentes primarias — Equipo de Ingeniería de Go-Tools · Jul 17, 2026

¿Qué es chmod?

chmod — de change mode, cambiar modo — es el comando de Unix y Linux que establece quién puede leer, escribir o ejecutar un archivo. Cada archivo lleva nueve bits de permisos en tres grupos (propietario, grupo, otros), y chmod los acepta o bien como un número octal en modo numérico (absoluto), como chmod 755, o bien como letras en modo simbólico, como chmod u=rwx,go=rx. Ambos describen exactamente los mismos bits; esta calculadora traduce entre ellos en vivo.

La notación octal funciona porque cada permiso es una potencia de dos: la lectura vale 4, la escritura 2, la ejecución 1, y un dígito por clase es simplemente su suma. Así, 7 es todo (4+2+1), 5 es lectura más ejecución, 6 es lectura más escritura y 0 es nada en absoluto. Lee rwxr-xr-x de izquierda a derecha en grupos de tres y obtienes 7, 5, 5. Un cuarto dígito inicial codifica los modos especiales —setuid (4), setgid (2) y el bit sticky (1)—, que es de donde salen 4755 o 1777; su presencia aparece en la cadena simbólica como s o t en lugar de x.

Los permisos son la primera capa de la seguridad en Unix, y la mayoría de los problemas cotidianos se reducen a un puñado de patrones: un script que no arranca necesita ejecución (u+x), un directorio en el que no puedes entrar tiene el bit x ausente, un recurso web debería ser 644 con directorios 755 por encima, y una clave privada debe estar en 600 antes de que OpenSSH la acepte. Los errores se agrupan de la misma manera — el más infame es chmod 777, que «arregla» los errores de acceso entregando la escritura a todas las cuentas de la máquina. Esta página reúne la aritmética, los símbolos, los comandos listos para ejecutar y las advertencias de riesgo en un solo lugar, y como el octal no es más que base 8, puedes explorar la aritmética posicional subyacente con el convertidor de bases numéricas.

# Make a script executable, then verify with ls -l
$ ls -l deploy.sh
-rw-r--r--  1 jack  staff  512 Jul 17 10:00 deploy.sh
$ chmod 755 deploy.sh
$ ls -l deploy.sh
-rwxr-xr-x  1 jack  staff  512 Jul 17 10:00 deploy.sh

# The symbolic equivalent of 755
$ chmod u=rwx,go=rx deploy.sh

# Read the current mode as a number
$ stat -c '%a' deploy.sh   # Linux → 755
$ stat -f '%Lp' deploy.sh  # macOS → 755

Funciones principales

Tres vistas, un solo estado

La matriz de casillas, el número octal y la cadena simbólica rwx son entradas activas: edita cualquiera de ellas y las otras dos se actualizan al instante, en ambas direcciones.

Bits especiales bien hechos

setuid, setgid y el bit sticky son de primera clase: el cuarto dígito octal, las reglas de mayúsculas de s/S y t/T, y las cláusulas simbólicas correctas (u+s, g+s, a+t) se renderizan exactamente como chmod las entiende.

Pega ls -l tal cual

Suelta una línea entera de ls -l en el campo simbólico — el carácter de tipo de archivo, el punto de SELinux, el más de ACL o la @ de macOS se manejan solos — y obtén el modo octal sin recortar nada a mano.

Comandos que puedes ejecutar de verdad

Numérico, simbólico, recursivo y la pareja más segura find -type d / find -type f, cada uno con botón de copiar — más el comando stat para leer el modo actual de un archivo y la nota de GNU sobre limpiar setuid en directorios.

Alertas de riesgo mientras escribes

Los modos escribibles por todos se iluminan de inmediato: 777 y 666 se señalan, cualquier bit de escritura para otros levanta una alerta, y 1777 se reconoce correctamente como el patrón de bit sticky para directorios compartidos en lugar de como un error.

umask, tablas y enlaces permanentes

Una calculadora de umask integrada muestra qué recibirán los archivos y directorios nuevos, dos tablas de referencia cubren los modos comunes y los dígitos 0-7, y Copiar enlace comparte el estado exacto — todo 100% en tu navegador.

Ejemplos de permisos chmod

755 — el estándar para scripts y directorios web

755
rwxr-xr-x — chmod 755 file · chmod u=rwx,go=rx file

El modo 755 da al propietario control total (lectura + escritura + ejecución = 4 + 2 + 1 = 7) mientras que el grupo y otros pueden leer y ejecutar pero nunca modificar (4 + 1 = 5). Es exactamente lo que necesita un script de despliegue o un directorio web público: el servidor puede recorrer y servir el contenido, pero solo el propietario puede cambiarlo. La calculadora muestra ambas formas del comando —el 755 numérico y su equivalente simbólico u=rwx,go=rx— y la receta de solo archivos baja automáticamente a 644, porque los archivos normales no deberían llevar bits de ejecución que no necesitan.

600 — restringe un archivo privado a su propietario

600
rw------- — el propietario lee y escribe, nadie más ve nada

El modo 600 (rw-------) es el ajuste correcto para claves privadas SSH, archivos .env, credenciales de API y cualquier otra cosa que ninguna otra cuenta de la máquina debería poder abrir. OpenSSH lo exige activamente: una clave legible por el grupo u otros se rechaza con el famoso error 'Permissions 0644 ... are too open'. Carga el chip 600, copia chmod 600 file, y el panel de riesgo permanece en silencio: es la base del mínimo privilegio bien aplicada.

4755 — anatomía del setuid: por qué la x se convierte en s

4755
rwsr-xr-x — la posición de ejecución del propietario muestra s en lugar de x

El 4 inicial es el bit setuid: quienquiera que ejecute el programa, este corre con los privilegios del propietario del archivo — así es como passwd puede actualizar un archivo propiedad de root para un usuario normal. En forma simbólica, la posición de ejecución del propietario cambia de x a s (una s minúscula significa que la ejecución también está activada; una S mayúscula significaría setuid sin ejecución, que casi siempre es un error). La calculadora renderiza el cuarto dígito octal, marca la casilla de setuid y muestra una alerta informativa, porque los ejecutables setuid merecen una revisión deliberada.

Decodifica la salida de ls -l — pega la línea entera

drwxr-xr-x  5 jack staff 160 Jul 17 dist
755

Copia una línea directamente de la salida de ls -l y pégala en el campo simbólico — sin recortar nada. La herramienta lee el primer token drwxr-xr-x, reconoce la d inicial como el carácter de tipo de archivo (directorio) y no como un permiso, tolera el punto de SELinux, el signo más de ACL o la @ de macOS que algunos sistemas añaden, y convierte los nueve caracteres restantes al octal 755. Es la forma más rápida de responder «¿qué número es este permiso?» durante una revisión de código o un incidente, y funciona igual con la l de los enlaces simbólicos y el - de los archivos normales.

Cómo usar la calculadora chmod

  1. 1

    Configura los permisos como prefieras

    Marca las casillas de lectura, escritura y ejecución por clase, escribe un modo octal como 755 o 4755, o parte de uno de los chips predefinidos — clave SSH 400, archivo privado 600, archivo web 644, script 755 y más.

  2. 2

    Lee las tres vistas a la vez

    La matriz de casillas, el valor octal y la cadena simbólica rwx se mantienen sincronizados en todas las direcciones, y cada fila muestra su dígito y su segmento de tres caracteres mientras trabajas.

  3. 3

    Copia el comando exacto que necesitas

    Cinco variantes listas para ejecutar se actualizan en vivo: el modo numérico, el equivalente simbólico con agrupación inteligente, el recursivo -R y la pareja más segura de solo directorios / solo archivos construida sobre find -type.

  4. 4

    Decodifica permisos existentes

    Pega una línea completa de ls -l — carácter de tipo de archivo, marcadores de ACL y todo — en el campo simbólico y lee el valor octal al instante, bits especiales incluidos.

  5. 5

    Comprueba el umask y comparte el resultado

    La sección de umask muestra qué recibirán los archivos y directorios nuevos, y Copiar enlace captura el modo actual en una URL que puedes dejar en una revisión de código o un runbook.

Errores comunes con chmod

Usar 777 para «arreglar» Permission denied

Abrir el modo al mundo suele enmascarar un problema de propiedad en lugar de resolverlo — y deja a cualquier cuenta de la máquina en condiciones de modificar tus archivos. Corrige primero el propietario; mantén el modo estricto.

✗ Incorrecto
sudo chmod -R 777 /var/www   # el acceso funciona, la seguridad desaparece
✓ Correcto
sudo chown -R www-data:www-data /var/www   # corrige la propiedad, mantén 755/644

chmod -R indiscriminado en un directorio de subidas

Los modos numéricos recursivos golpean archivos y directorios con el mismo valor, así que 755 convierte cada imagen y documento en «ejecutable» y 777 los hace escribibles por todos. Divide la recursión por tipo.

✗ Incorrecto
chmod -R 777 uploads/
✓ Correcto
find uploads -type d -exec chmod 755 {} + && find uploads -type f -exec chmod 644 {} +

Olvidar que los directorios necesitan ejecución

El bit x en un directorio significa «puede entrar y atravesar». En un directorio 644 no se puede hacer cd, ni siquiera para los usuarios que pueden listarlo — lo que produce errores Permission denied desconcertantes un nivel más adentro.

✗ Incorrecto
chmod 644 reports/   # cd reports/ → Permission denied
✓ Correcto
chmod 755 reports/   # los directorios llevan x para poder entrar

Publicar un script sin su bit de ejecución

Un archivo recién creado hereda valores por defecto del umask como 644, así que ./script.sh falla con Permission denied hasta que añades ejecución al menos para el propietario. Los runners de CI y los entrypoints de Docker se topan con esto constantemente.

✗ Incorrecto
./deploy.sh   # bash: ./deploy.sh: Permission denied
✓ Correcto
chmod u+x deploy.sh && ./deploy.sh

Qué puedes hacer con la calculadora chmod

Despliega en servidores web con seguridad
Aplica 755 a los directorios y 644 a los archivos en document roots de nginx o Apache con los comandos find generados, y deja que el panel de riesgo confirme que nada es escribible por todos antes de publicar. Combínalo con el generador de htpasswd cuando un directorio también necesite protección con autenticación básica.
Arregla los permisos de claves SSH
Los chips predefinidos 400 y 600 producen exactamente lo que OpenSSH exige para las claves privadas, y la sección de preguntas frecuentes explica el error 'Permissions 0644 ... are too open' que aparece cuando una clave queda legible por el grupo.
Decodifica permisos durante el triaje de incidentes
Pega líneas de ls -l de una shell de producción directamente en el campo simbólico para convertir rwxr-sr-x en 2755 sin contar bits de cabeza — los modos especiales, los marcadores de ACL y los caracteres de tipo de archivo se entienden todos.
Acierta con los modos en hosting compartido y FTP
Los paneles de control y los clientes FTP piden modos numéricos: 755 para public_html, 644 para las páginas, 600 para archivos de configuración con credenciales. Carga el predefinido, consulta la tabla, copia el número — sin adivinar.
Prepara contenedores y scripts de CI
Los entrypoints y los scripts de hooks necesitan u+x antes de que Docker o un runner de CI puedan ejecutarlos, y los volúmenes montados heredan los modos del host. Genera aquí el chmod exacto para cada caso, y programa los trabajos que los ejecutan con el generador de crontab.

Cómo funcionan los permisos de archivos en Linux

La aritmética octal: 4 + 2 + 1
Cada clase de usuario recibe un dígito octal, y el dígito es la suma de lectura = 4, escritura = 2 y ejecución = 1. Existen las ocho combinaciones: 0 nada, 1 solo ejecución, 2 solo escritura, 3 escritura + ejecución, 4 solo lectura, 5 lectura + ejecución, 6 lectura + escritura, 7 las tres. Un modo como 640 se lee así: propietario 6 (lectura + escritura), grupo 4 (solo lectura), otros 0 (nada). La tabla de dígitos de esta página lista las ocho filas, y la matriz muestra esa misma suma construyéndose mientras marcas casillas.
Modo numérico (absoluto) frente a modo simbólico
chmod acepta los mismos bits de dos maneras. El modo numérico declara el resultado completo — chmod 755 file reemplaza lo que hubiera antes. El modo simbólico describe un cambio relativo al estado actual: chmod u=rwx,go=rx file fija las clases explícitamente, mientras que chmod g+w file invierte un solo bit y deja el resto en paz. El numérico es ideal para imponer un estado conocido en scripts y despliegues; el simbólico brilla en ajustes puntuales como u+x. Esta calculadora emite ambos, con las clases agrupadas automáticamente (go=rx, a=rwx) tal como las escriben los administradores con experiencia.
setuid, setgid y el bit sticky
Un cuarto dígito octal inicial codifica los modos especiales: setuid = 4000 ejecuta un binario con los privilegios del propietario del archivo, setgid = 2000 hace lo mismo con el grupo (y hace que los archivos nuevos de un directorio hereden su grupo), y el bit sticky = 1000 en un directorio compartido restringe el borrado al propietario de cada archivo — /tmp es el 1777 canónico. En ls -l reemplazan la posición de ejecución: s o t minúscula cuando la ejecución también está activada, S o T mayúscula cuando no lo está (normalmente una mala configuración que conviene revisar). Una sutileza de GNU/Linux: el chmod numérico conserva deliberadamente el setuid/setgid existente en directorios — límpialos con un modo de 5 dígitos como 00755, una cláusula de igualdad como =755, o u-s,g-s, como documenta el manual de GNU coreutils. BSD y macOS los limpian por defecto con modos numéricos.
Cómo el umask da forma a los archivos nuevos
Los archivos recién creados parten de la base 666 y los directorios de 777; el umask del proceso apaga después los bits que contiene — modo efectivo = base & ~umask. El umask por defecto 022 enmascara la escritura de grupo y otros, dando los familiares archivos 644 y directorios 755. Un 077 más estricto da 600 y 700, manteniéndolo todo privado para el propietario; un 002 colaborativo da 664 y 775 para que el grupo pueda escribir. La sección de umask de esta página ejecuta el cálculo en vivo para ambas bases.

Buenas prácticas de permisos de archivos

Concede el mínimo privilegio que funcione
Parte del modo más estricto y abre solo lo que falle: 600 para archivos privados, 644 para los de lectura compartida, 755 solo donde la ejecución o el recorrido sean realmente necesarios. Cada bit de escritura extra es superficie de ataque.
Por defecto, archivos 644 dentro de directorios 755
Esta pareja sirve para casi cualquier raíz web, checkout de repositorio y escenario de lectura compartida. Los archivos normales rara vez necesitan ejecución; los directorios siempre la necesitan para poder entrar — confundir ambos causa la mayoría de los errores de permisos cotidianos.
Recorre con find -type, no con un -R indiscriminado
chmod -R 755 marca todos los archivos como ejecutables. Usa los comandos de solo directorios y solo archivos que genera esta herramienta, o la X mayúscula de GNU chmod (u+rwX,go+rX), que añade ejecución solo donde corresponde.
Nunca dejes 777 en nada al alcance de un servidor
Las raíces web y los directorios de subida escribibles por todos son la ruta de manual hacia archivos inyectados y sitios desfigurados. Si varias cuentas deben escribir, prefiere un grupo compartido con 775 o 2775 (setgid mantiene la propiedad de grupo coherente) antes que abrir el modo al mundo.
Mantén las claves SSH en 600 — o 400 cuando sean definitivas
OpenSSH rechaza de plano las claves privadas legibles por el grupo o por todos. 600 es el estándar de trabajo; 400 además evita sobrescrituras accidentales de una clave que no piensas editar. Las claves públicas y authorized_keys están bien en 644.

Preguntas frecuentes sobre la calculadora chmod

¿Qué significa chmod 777?
Concede lectura, escritura y ejecución a todos por igual: propietario, grupo y el resto de usuarios. Cada dígito es la suma de lectura (cuatro), escritura (dos) y ejecución (uno) para una clase de usuario, y el valor máximo en todas las posiciones significa que nadie tiene restricción alguna. En forma simbólica es rwxrwxrwx. Hay usos legítimos, pero son raros y casi siempre directorios en lugar de archivos; cuando un tutorial te dice que hagas chmod 777 a algo para que «funcione», el problema real casi siempre es la propiedad, y chown es la solución correcta.
¿Es peligroso chmod 777?
En cualquier cosa accesible por otros usuarios o por un servidor web, sí: 777 significa que cualquier cuenta del sistema —incluida una cuenta de servicio comprometida— puede reemplazar el contenido del archivo o dejar archivos nuevos en el directorio. Los document root de servidores web puestos a 777 son la ruta clásica hacia sitios desfigurados y malware inyectado. La excepción que confirma la regla es 1777: añadir el bit sticky, como hace /tmp, deja que todos creen archivos pero impide que los usuarios borren los de los demás — esta calculadora marca el 777 simple como un riesgo, pero reconoce 1777 como el patrón estándar de directorio compartido.
¿Cuál es la diferencia entre chmod 755 y 644?
El bit de ejecución. 755 (rwxr-xr-x) permite a todos ejecutar o atravesar, que es lo que necesitan los directorios, los scripts y los binarios; 644 (rw-r--r--) es lo mismo sin ningún permiso de ejecución, lo correcto para archivos normales como páginas HTML, imágenes y archivos de configuración. La pareja clásica es 755 para cada directorio y 644 para cada archivo dentro — los comandos de solo archivos y solo directorios que genera esta calculadora producen exactamente esa división con find -type d y find -type f.
¿Cómo soluciono "Permissions 0644 for 'id_rsa' are too open"?
Ejecuta chmod 600 ~/.ssh/id_rsa y vuelve a conectarte. OpenSSH se niega a usar una clave privada que cualquier otra cuenta pueda leer: imprime el aviso WARNING: UNPROTECTED PRIVATE KEY FILE!, la línea Permissions 0644 for '/home/user/.ssh/id_rsa' are too open., indica que private key files must NOT be accessible by others y después ignora la clave — lo que se manifiesta como una petición de contraseña inesperada o Load key ... bad permissions. El modo 600 (rw-------) satisface la comprobación; 400 (r--------) también funciona y además protege contra sobrescrituras accidentales. Consulta el manual de OpenSSH para los requisitos de los archivos de clave.
¿Cuál es la diferencia entre chmod y chown?
chmod cambia lo que el propietario, el grupo y los otros existentes pueden hacer con un archivo: sus bits de permisos. chown cambia quiénes son realmente el propietario y el grupo. Resuelven problemas distintos: si un servidor web no puede escribir en su propio directorio de subidas, la solución suele ser chown www-data:www-data sobre el directorio, no abrir los permisos al mundo entero con chmod. Un buen hábito cuando algo resulta inesperadamente ilegible: comprueba primero la propiedad con ls -l, decodifica el modo (pega la línea en esta calculadora) y solo entonces decide cuál de los dos comandos pide la situación.
¿Qué hace chmod +x?
Añade el bit de ejecución para las clases de usuario no enmascaradas por tu umask — con el umask habitual de 022 eso significa todos, así que chmod +x script.sh suele equivaler a chmod a+x script.sh y convierte un archivo que el shell se niega a ejecutar en uno ejecutable. Con un umask más estricto como 077, en cambio, +x solo afecta al propietario. Si quieres un resultado concreto independientemente del umask, dilo explícitamente: u+x para solo el propietario, a+x para todos. Los directorios necesitan el mismo bit para poder entrar en ellos, y por eso son 755 en lugar de 644 por defecto.
¿Cómo aplico chmod a todos los archivos y carpetas de forma recursiva?
Evita un chmod -R 755 indiscriminado: convierte cada archivo normal en ejecutable, lo que es ruido en el mejor de los casos y un riesgo en el peor. La forma limpia es tratar directorios y archivos por separado — find dir -type d -exec chmod 755 {} + para los directorios y find dir -type f -exec chmod 644 {} + para los archivos, y esta calculadora genera ambos para el modo que elijas. La X mayúscula de GNU chmod hace lo mismo en una sola línea (chmod -R u+rwX,go+rX dir): añade ejecución solo a los directorios y a los archivos que ya son ejecutables. Una sutileza de Linux: un chmod numérico simple como 755 deja intacto un setuid/setgid existente en directorios — límpialo explícitamente con 00755 o u-s,g-s si esa es tu intención.
¿Se suben mis datos cuando uso esta calculadora?
No. Cada conversión ocurre localmente en tu navegador con aritmética de bits en JavaScript puro: no hay llamadas al servidor, ni eventos de analítica ligados a lo que escribes, ni nada que retener. Puedes abrir las herramientas de desarrollo de tu navegador y ver cómo el panel de red permanece en silencio mientras cambias permisos, o desconectarte por completo y seguir trabajando. El botón Copiar enlace codifica el modo actual en el fragmento de la URL, y los fragmentos tampoco se envían nunca a un servidor.

Herramientas relacionadas

Ver todas las herramientas →