Permisos
Calculadora chmod
Selecciona permisos para propietario, grupo y otros, o pega un valor octal o simbólico. La calculadora muestra el equivalente en octal, simbólico, comando chmod y línea estilo `ls -l`. Toda la lógica corre en tu navegador.
| Audiencia | Lectura (r) | Escritura (w) | Ejecución (x) | Octal |
|---|---|---|---|---|
| Propietario | 6 | |||
| Grupo | 4 | |||
| Otros | 4 |
Los espacios, comillas y caracteres especiales se escapan para shell POSIX.
Riesgo del comando
seguroNo se detectan riesgos obvios en esta combinación.
Resumen legible
- Propietario
- lectura, escritura
- Grupo
- lectura
- Otros
- lectura
Presets de permisos
Cómo usar chmod en casos comunes
Esta guía rápida resume los modos chmod que aparecen con más frecuencia en servidores Linux y entornos de desarrollo. La calculadora de esta página soporta todos los casos descritos aquí, incluidos setuid, setgid, sticky bit y el modo --reference. Cuando seleccionas una combinación arriesgada, el panel de riesgo lo advierte sin ejecutar nada.
La calculadora no ejecuta comandos: produce la línea chmod equivalente para que la copies y la lances tú en tu shell.
| Octal | Simbólico | Uso típico |
|---|---|---|
644 | rw-r--r-- | Archivos web públicos: HTML, CSS, JS, imágenes. |
755 | rwxr-xr-x | Directorios y scripts públicos ejecutables (binarios, /usr/bin). |
600 | rw------- | Claves SSH privadas, tokens, archivos con secretos. |
700 | rwx------ | Directorios o scripts privados del usuario (~/.ssh, ~/bin propios). |
775 | rwxrwxr-x | Directorios compartidos por un grupo (proyectos colaborativos). |
1777 | rwxrwxrwt | Directorio escribible por todos con sticky bit, estilo /tmp. |
2755 | rwxr-sr-x | Directorio setgid: los archivos nuevos heredan el grupo del directorio. |
4755 | rwsr-xr-x | Binario setuid: corre con los privilegios del propietario. Peligroso, requiere auditoría. |
777 | rwxrwxrwx | Evitar salvo aislamiento absoluto. Casi siempre indica un problema de permisos peor disfrazado. |
Archivos vs directorios
Los bits rwx no significan lo mismo en archivos que en directorios. Esta distinción es la causa habitual de errores cuando se aplica chmod sobre árboles mixtos.
- En un archivo, x permite ejecutarlo (script o binario).
- En un directorio, x permite entrar y atravesarlo (cd / acceso a entradas).
- r en un directorio permite listar los nombres de las entradas (ls).
- w en un directorio permite crear, borrar y renombrar entradas — pero solo si x también está activo.
Claves SSH y secretos
OpenSSH se niega a usar una clave privada con permisos demasiado abiertos. La calculadora avisa explícitamente si combinas permisos de grupo u otros con un nombre tipo id_rsa o id_ed25519.
- Claves privadas: normalmente 600 (rw-------) o 400 (r--------).
- Claves públicas (id_rsa.pub, authorized_keys): 644 es habitual.
- Si grupo u otros tienen cualquier bit en una clave privada, SSH probablemente la rechazará por seguridad.
- No todas las implementaciones SSH aplican exactamente las mismas reglas; trata estas recomendaciones como guía práctica, no como compatibilidad universal.
chmod -R seguro
El flag -R aplica los permisos recursivamente sobre todo el subárbol. Es la operación más rápida de teclear y la más fácil de lamentar.
- Revisa la ruta antes de pulsar Enter; un error con -R sobre / es difícil de revertir.
- Evita chmod -R 777: concede escritura global a archivos que deberían ser privados.
- --preserve-root hace que GNU chmod rechace operar sobre / por defecto; déjalo activo salvo que sepas exactamente lo que haces.
- El panel de riesgo de esta página marca combinaciones como -R 777, -R sobre / y escritura para otros en modo recursivo.
Modo simbólico y ls -l
La calculadora acepta varios formatos en el input principal. Es una selección práctica de las formas más usadas; no cubre toda la sintaxis POSIX de chmod.
- Octal: 755, 0755, 4755 (con bits especiales como setuid/setgid/sticky).
- Simbólico absoluto: rwxr-xr-x.
- Línea estilo ls -l completa: `-rwxr-xr-x 1 user group 1234 may 12 script.sh`. Además de los diez caracteres de permisos, la calculadora infiere el tipo de archivo (-, d, l) y el nombre como target path cuando la línea los incluye.
- Operaciones relativas como u+x, g-w, o=r, a=rx, o secuencias separadas por comas (u+x,g-w,o=r) aplicadas sobre el estado actual.
--reference
Con --reference=<archivo>, chmod copia los permisos exactos de otro archivo en lugar de usar el modo escrito. Es útil para alinear permisos entre archivos sin recalcularlos a mano.
- Cuando --reference está activo, el modo octal de la calculadora se ignora y el comando final no incluye los dígitos.
- Combinar --reference con -R copia los permisos del archivo de referencia a todo el subárbol; mide bien el impacto antes de ejecutar.
- La calculadora no valida el archivo de referencia: solo lo escapa de forma shell-safe en el comando final. Que el archivo exista, sea accesible o tenga permisos legibles lo decide chmod en tiempo de ejecución.
Preguntas frecuentes
- ¿Qué significa cada dígito en chmod 755?
- El primer dígito (7) son los permisos del propietario, el segundo (5) los del grupo y el tercero (5) los del resto. Cada dígito se compone de lectura (4), escritura (2) y ejecución (1). 7 = 4+2+1 (rwx), 5 = 4+1 (r-x).
- ¿Por qué 777 es peligroso y cuándo se justifica?
- Casi nunca en producción. Con 777, cualquier usuario del sistema puede leer, modificar y ejecutar el archivo, o crear y borrar entradas dentro del directorio. Casi siempre enmascara un problema real de propietario o grupo que debería resolverse con chown, un grupo compartido o ACLs, no abriendo permisos. La excepción habitual es un directorio temporal protegido por el sticky bit (1777, estilo /tmp).
- ¿Qué es el bit setuid?
- Setuid (4 en el cuarto dígito octal, p. ej. 4755) hace que un ejecutable se lance con los privilegios de su propietario, no del usuario que lo invoca. Se usa para binarios como `passwd`. En la salida simbólica aparece como `s` (o `S` si no hay permiso de ejecución).
- ¿Qué hace el sticky bit (el 1 en 1777)?
- El 1 inicial de un modo como 1777 activa el sticky bit. En un directorio escribible por todos (típicamente /tmp), impide que un usuario borre o renombre archivos que no le pertenecen, aunque tenga permiso de escritura sobre el directorio. Sin sticky, cualquier usuario podría limpiar /tmp entero. En la salida simbólica aparece como `t` (o `T` si el bit de ejecución de others está apagado).
- ¿Por qué aparecen 'S' o 'T' en mayúscula?
- Cuando un bit especial (setuid, setgid, sticky) está activo pero la posición de ejecución correspondiente NO lo está, la letra aparece en mayúscula (`S`, `T`). Suele ser indicación de configuración incorrecta o intencional para deshabilitar la ejecución.
- ¿Cuál es la diferencia entre 755 y 644?
- 755 añade el bit de ejecución (x) para propietario, grupo y otros, lo que en archivos significa poder ejecutarlos y en directorios significa poder entrar y recorrerlos. 644 deja solo lectura para grupo y otros: es lo habitual para archivos estáticos (HTML, CSS, imágenes) que no se ejecutan.
- ¿Qué permisos necesita una clave SSH privada?
- Normalmente 600 (rw-------) o 400 (r--------). Si grupo u otros tienen cualquier bit, OpenSSH suele rechazar la clave con un error tipo 'Permissions are too open'. Las claves públicas (.pub, authorized_keys) pueden estar en 644.
- ¿Puedo pegar una línea de ls -l?
- Sí. Si pegas algo como `-rwxr-xr-x 1 user group 1234 may 12 script.sh`, la calculadora extrae los diez caracteres iniciales (incluida la `t`, `s` o `S` de sticky/setuid/setgid) y rellena el resto del estado. Además infiere el tipo de archivo (-, d, l) y, cuando el nombre aparece al final, lo propone como target path.