MiServe DevTools

Tus pegatinas

Fija aquí tus herramientas. Se guardan en este navegador.

Calculadora chmod

Marca los permisos, o escribe un modo como 755 o rwxr-xr-x, y obtén el valor octal, la forma simbólica y el comando chmod.

Bits de permiso
Clase Lectura r = 4Escritura w = 2Ejecución x = 1 Especial
Propietario u
Grupo g
Otros o

Qué permite este modo

    Comando con el modo octal
    Comando con el modo simbólico

    Modos habituales

    • El propietario puede modificar el archivo y todos pueden leerlo. Es el modo habitual de un archivo normal.
    • Solo el propietario puede leer y modificar el archivo. Úsalo para archivos privados, como las claves SSH.
    • El propietario puede modificarlo, y todos pueden leerlo y ejecutarlo. Es el modo habitual de programas y directorios.
    • Solo el propietario puede leerlo, modificarlo y ejecutarlo. Úsalo para directorios y scripts privados.
    • El propietario y el grupo pueden modificarlo, y todos pueden leerlo y ejecutarlo. Úsalo para directorios que comparte un grupo.
    • El propietario y el grupo pueden modificar el archivo, y todos pueden leerlo.
    • Solo el propietario puede leer el archivo, y ninguna clase tiene permiso de escritura.
    • Todos pueden crear archivos, pero el sticky bit impide que unos usuarios borren los archivos de otros. Es el modo de /tmp.

    Funciona en tu navegador. Nada de lo que pegas se sube.

    Acerca de esta herramienta

    Cómo se forma un modo

    Unix guarda tres conjuntos de permisos para cada archivo: uno para el propietario, uno para el grupo y uno para todos los demás. Cada conjunto tiene tres bits, lectura (4), escritura (2) y ejecución (1), y la suma de los bits activados es un dígito octal. En 755 el propietario tiene 4 + 2 + 1 = 7, y el grupo y los demás tienen 4 + 1 = 5, lo que ls -l muestra como rwxr-xr-x.

    El campo simbólico también acepta la cadena completa de diez caracteres de ls -l, como -rw-r--r-- o drwxr-xr-x. El primer carácter es el tipo de archivo, no un permiso, así que la herramienta lo ignora.

    Qué significan los bits en un directorio

    En un directorio, la lectura te permite listar los nombres que contiene, y la ejecución te permite entrar en él y acceder a los archivos que contiene. La escritura te permite crear, borrar y renombrar entradas, pero solo junto con la ejecución. Por eso un directorio suele tener ejecución allí donde tiene lectura. También significa que poder borrar un archivo depende de los permisos del directorio que lo contiene, no de los permisos del archivo.

    setuid, setgid y el sticky bit

    Un cuarto dígito delante contiene tres bits especiales: setuid (4), setgid (2) y sticky (1). ls -l los muestra en la posición de ejecución como s o t. Una S o T mayúscula significa que el bit especial está activado pero el bit de ejecución de esa posición no.

    Los dos comandos que muestra esta herramienta activan los bits que has marcado, pero chmod no siempre quita un bit especial que el archivo ya tiene. GNU chmod, el que usan la mayoría de las distribuciones Linux, conserva los bits setuid y setgid de un directorio a menos que el modo los indique, incluso con chmod 755: escribe chmod 00755 o añade a-s para quitarlos. El chmod de macOS conserva el sticky bit con una cláusula como o=rx, y chmod -t lo quita. El sticky bit se muestra como una cláusula +t aparte porque las dos implementaciones aceptan esa forma.

    Preguntas

    ¿Qué significa chmod 755?

    El propietario puede leer, escribir y ejecutar; el grupo y todos los demás pueden leer y ejecutar, pero no escribir. Es el modo habitual de programas, scripts y directorios que otros pueden usar pero que solo el propietario puede modificar.

    ¿Qué permisos debe tener una clave privada SSH?

    Usa 600, para que solo el propietario pueda leer y escribir el archivo. OpenSSH se niega a usar una clave privada que otros usuarios pueden leer.

    ¿Por qué debería evitar chmod 777?

    El modo 777 permite a cualquier usuario del sistema modificar o sustituir el archivo, y añadir o borrar archivos si es un directorio. Si un programa falla con un error de permisos, averigua con qué usuario se ejecuta y dale a ese usuario o a su grupo el acceso que necesita.

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

    Significa que setuid, setgid o el sticky bit está activado, pero el bit de ejecución de esa misma posición no. Una s o una t minúscula significa que los dos están activados.

    ¿Se envía a un servidor algo de lo que escribo?

    No. La conversión la hace JavaScript en la pestaña de tu navegador. La herramienta no hace ninguna petición de red con lo que escribes, y la política de seguridad del sitio bloquea las peticiones a cualquier otro host.

    Más herramientas de Red