Calculadora Chmod

Clase Leer (r) Escribir (w) Ejecutar (x)
Propietario
Grupo
Otros
Siguiente

Los permisos de archivos en Unix vienen en tres tripletas, lectura, escritura, ejecución para usuario, grupo, otros, que se colapsan perfectamente en un número octal de tres dígitos. chmod 755 script.sh es rwxr-xr-x: el propietario tiene todo, el grupo y otros tienen lectura y ejecución. Esta calculadora te permite activar cada casilla y ver el cambio octal en vivo, o pegar un número octal y ver el desglose rwx, con el comando chmod exacto listo para copiar.

Cómo funcionan los permisos chmod

  1. 1

    Activa los 9 bits de permiso

    Tres grupos (usuario, grupo, otros) × tres permisos (lectura, escritura, ejecución) = 9 casillas.

  2. 2

    Cada grupo se convierte en un dígito octal

    Lectura = 4, escritura = 2, ejecución = 1. Suma los bits que deseas habilitar.

  3. 3

    Lee la forma octal y simbólica resultante

    p. ej. 755 → rwxr-xr-x; 644 → rw-r--r--; 600 → rw-------.

  4. 4

    Copia el comando chmod

    La herramienta muestra el comando chmod para los permisos actuales, listo para copiar. Ejemplos: chmod 755 nombre_archivo, chmod u+x nombre_archivo, chmod -R 755 directorio.

Valores de bits de permiso

Bit Valor Significado para archivos Significado para directorios
Lectura 4 Puede ver contenidos Puede listar entradas
Escritura 2 Puede modificar Puede crear / eliminar / renombrar entradas
Ejecución 1 Puede ejecutarse como un programa Puede atravesar (cd dentro, acceder)

Valores chmod comunes

Octal Simbólico Uso típico
777 rwxrwxrwx Escribible por todos, peligroso; raramente correcto
755 rwxr-xr-x Scripts, binarios, directorios
750 rwxr-x--- Scripts privados para ti y tu grupo
700 rwx------ Scripts privados para ti (SSH, ~/.ssh)
644 rw-r--r-- Documentos públicos, imágenes, HTML
640 rw-r----- Configuraciones legibles por el grupo
600 rw------- Configuraciones privadas, claves privadas SSH, ~/.netrc
444 r--r--r-- Archivos publicados solo para lectura
400 r-------- Privado solo para lectura (raramente correcto; usa 600)

Permisos especiales (raros pero importantes)

  • setuid (4xxx): ejecuta el archivo como su propietario, independientemente de quién lo ejecute. /usr/bin/passwd usa esto.
  • setgid (2xxx): en archivos, se ejecuta como el grupo. En directorios, los nuevos archivos heredan el grupo del directorio.
  • sticky bit (1xxx): en directorios, solo el propietario del archivo puede eliminar/renombrar. /tmp usa esto.

Los octales de cuatro dígitos incluyen estos: chmod 4755 binario-setuid activa setuid junto con 755.

Chmod simbólico

Muchos administradores prefieren la forma simbólica para cambios incrementales:

  • chmod u+x script, añade ejecución solo para el propietario.
  • chmod go-w archivo, elimina escritura para grupo y otros.
  • chmod a+r archivo, da lectura a todos (usuario, grupo, otros).
  • chmod u=rw,go=r archivo, establece exactamente estos bits.
  • chmod -R 755 directorio, recursivo.

Errores comunes

  • 777 en carpetas de subidas: parece “arreglar permisos”; en realidad abre el servidor a atacantes. Usa una combinación más restringida (p. ej. 755 con propiedad de grupo correcta).
  • chmod -R 644 en directorios: elimina la ejecución en directorios, por lo que no puedes cd dentro de ellos. Usa 755 para directorios, 644 para archivos regulares.
  • 0600 vs 600: el cero inicial indica octal en C y shell; la mayoría de las implementaciones de chmod aceptan ambos.
  • Umask: los nuevos archivos heredan 666 menos el umask. El umask predeterminado 022 da archivos 644 y directorios 755.

Preguntas frecuentes

Normalmente quieres que el propietario pueda modificar, y que todos los demás puedan listar y atravesar. 755 = rwx para el propietario, r-x para grupo y otros, exactamente esa combinación.

Casi nunca. 777 permite que cualquiera en el sistema modifique el archivo. En sistemas multiusuario es un agujero de seguridad; en sistemas de un solo usuario es innecesario (el propietario ya tiene rwx con 755). Si una aplicación web parece necesitar 777, la solución real es la propiedad correcta (chown) o la membresía de grupo.

~/.ssh directorio: 700. Claves privadas (id_rsa, id_ed25519): 600. Claves públicas (.pub): 644. authorized_keys: 600. SSH rechaza claves con permisos más amplios como medida de seguridad.

chown para el propietario, chgrp para el grupo, comandos separados. chmod solo cambia bits, no el usuario/grupo que posee el archivo.

Herramientas relacionadas