Utilia

Calculadora chmod

Convierte permisos de archivos Unix entre casillas, notación octal (755) y simbólica (rwxr-xr-x), con setuid, setgid, sticky bit y comandos chmod listos.

Permisos
ClaseLectura (4)Escritura (2)Ejecución (1)
Propietario (u)
Grupo (g)
Otros (o)
Bits especiales

Comandos

Numérico
Simbólico
Como lo muestra ls -l
Cambio relativo desde {from}

Quién puede hacer qué

    Valores habituales

    Cómo usar la calculadora chmod

    1. Empieza desde cualquier representación: marca las casillas de la tabla Permisos, escribe un modo en Octal (p. ej. 755 o 4755) o pega una cadena como rwxr-xr-x o drwxr-sr-x (copiada directamente de ls -l) en Simbólico (p. ej. rwxr-xr-x). Las demás vistas se actualizan al instante.
    2. Activa los Bits especiales si los necesitas: Setuid (4000), Setgid (2000) o Sticky (1000). El modo octal pasa entonces a tener cuatro dígitos.
    3. Escribe el Nombre del archivo o directorio, marca Es un directorio y Recursivo (-R) si hace falta, y copia el comando Numérico o Simbólico.
    4. Para probar un cambio relativo, escríbelo en Cambio simbólico (p. ej. u+x,go-w) y haz clic en Aplicar cambio.

    Los botones de Valores habituales cargan modos típicos como 644, 600, 755 o 2775. La línea Cambio relativo desde … muestra la expresión chmod que convierte el último valor cargado o escrito en el actual, por ejemplo a+x para pasar de 644 a 755.

    Cómo leer los permisos Unix

    Cada archivo tiene tres clases de usuarios: el propietario (u), el grupo (g) del archivo y los otros (o), es decir, todos los demás. Cada clase recibe tres permisos, y cada uno vale un número: lectura = 4, escritura = 2, ejecución = 1. Al sumarlos se obtiene un dígito octal por clase: rwx = 7, rw- = 6, r-x = 5, r– = 4. Por eso rwxr-xr-x es 755.

    En un directorio, las mismas letras significan algo ligeramente distinto, como detalla la lista Quién puede hacer qué: r permite listar las entradas, w permite crear, renombrar y eliminar entradas (junto con x), y x permite entrar en el directorio y acceder a los archivos que contiene.

    Bits especiales

    • Setuid (4000) en un ejecutable hace que se ejecute con los permisos del propietario del archivo. passwd lo usa para escribir en la base de datos de contraseñas. Aparece como s en la posición de ejecución del propietario, o S si falta el permiso de ejecución.
    • Setgid (2000) en un ejecutable lo ejecuta con los permisos del grupo. En un directorio, los archivos nuevos heredan el grupo del directorio, lo que mantiene coherentes las carpetas de proyecto compartidas (2775).
    • Sticky (1000) en un directorio hace que solo el propietario de un archivo pueda eliminarlo o renombrarlo, aunque todos puedan escribir allí. /tmp tiene 1777. Aparece como t (o T) en la posición de ejecución de otros.

    Cambios simbólicos

    Una expresión simbólica sigue el esquema «quién, operador, permisos»: u+x añade ejecución al propietario, go-w quita escritura al grupo y a otros, a=r deja solo lectura para todos y g=u copia al grupo los permisos del propietario. Separa las cláusulas con comas. La X mayúscula añade ejecución solo a los directorios o a los archivos que ya tienen algún bit de ejecución, por lo que chmod -R a+X es seguro en un árbol con archivos de todo tipo. Si se omite «quién», esta herramienta aplica el cambio a todas las clases, como hace GNU chmod con una umask de 0.

    Consejos de seguridad

    Evita 777. Permite a cualquier cuenta de la máquina, incluido un proceso de servidor web comprometido, modificar o sustituir el archivo. Las opciones seguras habituales son 644 para archivos, 755 para directorios y scripts, 600 para claves privadas y 700 para directorios privados. La calculadora avisa de los modos con escritura para todos, de 777 y de los programas setuid.

    Preguntas frecuentes

    ¿Qué diferencia hay entre chmod 755 y chmod 775?

    Con 755 solo el propietario puede escribir; el grupo y los demás pueden leer y ejecutar. 775 da además permiso de escritura al grupo, lo que conviene para directorios compartidos por un equipo.

    ¿Qué permisos debe tener una clave privada SSH?

    600 (rw-------). OpenSSH se niega a usar una clave privada que el grupo u otros puedan leer.

    ¿Por qué el modo octal tiene a veces cuatro dígitos?

    El primer dígito contiene los bits especiales: 4 para setuid, 2 para setgid y 1 para sticky. 0755 y 755 son el mismo modo.

    ¿Funciona chmod 644 en un directorio?

    Establece los bits, pero sin x nadie puede entrar en el directorio ni abrir sus archivos. Usa 755 o 750 para directorios.

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

    El bit especial está activado pero el bit de ejecución correspondiente no. Suele ser un error: añade el permiso de ejecución o quita el bit especial.