Calcula permisos Unix con checkboxes visuales y genera el comando chmod
| Lectura (r) | Escritura (w) | Ejecución (x) | |
|---|---|---|---|
| Propietario (u) | |||
| Grupo (g) | |||
| Otros (o) |
También podrías necesitar
Los permisos de archivos Unix son uno de los pilares de la seguridad en sistemas Linux y macOS. Cada archivo y directorio tiene tres conjuntos de permisos: para el propietario (owner), para el grupo (group) y para todos los demás (other). Cada conjunto tiene tres bits: lectura (r=4), escritura (w=2) y ejecución (x=1). La suma de estos bits produce un dígito octal del 0 al 7. Los cuatro patrones más comunes son: 644 (rw-r--r--) para archivos de texto — el propietario puede leer y escribir, todos pueden leer; 755 (rwxr-xr-x) para directorios y scripts ejecutables — el propietario tiene control total, grupo y otros pueden leer y atravesar; 600 (rw-------) para archivos sensibles como claves SSH o archivos con credenciales — solo el propietario puede leerlos y escribirlos; 700 (rwx------) para directorios privados donde solo el propietario debe acceder. El bit de ejecución (`x`) tiene significado diferente según el tipo de objeto: en archivos permite ejecutarlo como programa; en directorios permite entrar con `cd` y acceder a su contenido — un directorio con permisos 644 puede listarse pero no atravesarse. El modo 777 (rwxrwxrwx) da permisos de escritura y ejecución a todos los usuarios del sistema — en servidores multiusuario o entornos web es un riesgo de seguridad real, pero en un entorno de desarrollo local con un único usuario puede ser aceptable. Esta herramienta calcula permisos visualmente con checkboxes y genera directamente el comando chmod correcto.
¿Qué diferencia hay entre permisos de archivo y de directorio?
Para archivos: r=leer el contenido, w=modificar el contenido, x=ejecutarlo como programa. Para directorios: r=listar el contenido (ls), w=crear/eliminar/renombrar archivos dentro del directorio, x=acceder al directorio (cd) y a los archivos dentro si sus permisos lo permiten. Un directorio sin permiso x no puede ser atravesado aunque tengas permiso r.
¿Por qué 755 para directorios y 644 para archivos?
Los directorios necesitan el bit x (execute) para poder ser accedidos (cd) y para que los usuarios puedan acceder a los archivos dentro. Por eso el modo estándar de directorio es 755 y no 644: el grupo y otros necesitan x para navegar dentro. Los archivos de texto no necesitan x porque no son programas — darles x sería un riesgo si contienen código malicioso.
¿Cómo protejo una clave SSH o archivo con credenciales?
Usa modo 600 (rw-------) o 400 (r--------). Con 600, solo el propietario puede leer y escribir el archivo. Con 400, solo puede leerlo (útil para claves que no deberían modificarse). OpenSSH rechaza claves privadas con permisos más permisivos que 600 — si la clave es legible por otros usuarios, SSH se niega a usarla por seguridad.
¿Por qué 777 es peligroso?
El modo 777 (rwxrwxrwx) da permisos de lectura, escritura y ejecución a TODOS los usuarios del sistema. Cualquier usuario o proceso puede modificar, reemplazar o ejecutar el archivo. En servidores web, esto puede permitir que un atacante que comprometió otro usuario reemplace un script PHP o un binario con código malicioso. En producción, nunca deberías necesitar 777 — si crees que lo necesitas, probablemente hay un problema de configuración de grupos o propietarios.
¿Qué es la diferencia entre chmod simbólico y octal?
Existen dos formas de usar chmod: octal (chmod 755 archivo) que establece los permisos absolutos, y simbólico (chmod u+x archivo) que modifica permisos relativos al estado actual. El modo simbólico usa: u (user/owner), g (group), o (other), a (all); operadores + (agregar), - (quitar), = (establecer exacto); y r/w/x. Por ejemplo: chmod go-w archivo quita escritura a grupo y otros sin afectar el resto de permisos.
¿Por qué SSH dice 'Permissions are too open' y cómo lo soluciono?
OpenSSH rechaza claves privadas cuyos archivos sean legibles por otros usuarios del sistema — es una medida de seguridad explícita. El error 'Permissions 0644 are too open' aparece cuando la clave tiene permisos más permisivos que 600. La solución: `chmod 600 ~/.ssh/id_rsa` (o la ruta de tu clave). Con 600, solo el propietario puede leerla y escribirla. Con 400 (solo lectura para el propietario), SSH también la acepta. Si el directorio `~/.ssh` también tiene permisos incorrectos: `chmod 700 ~/.ssh`.
¿Por qué puse un directorio en 644 y ahora no puedo acceder a los archivos dentro?
El bit `x` en directorios no significa 'ejecutar un programa' sino 'permiso de traversal': permite entrar al directorio con `cd` y acceder a los archivos dentro. Un directorio con 644 (rw-r--r--) tiene permiso de lectura (listar con `ls`) pero sin el bit `x` no se puede atravesar. Por eso el modo estándar de directorios es 755 y no 644. Un caso real: un servidor web con Nginx que sirve archivos de un directorio con 644 puede listar el directorio pero recibe 403 Forbidden al intentar leer archivos — le falta el bit `x` para atravesarlo.