Utilia

Calculadora de chmod

Converteix els permisos de fitxers Unix entre caselles, octal (755) i notació simbòlica (rwxr-xr-x), amb setuid, setgid, sticky bit i ordres chmod a punt.

Permisos
ClasseLectura (4)Escriptura (2)Execució (1)
Propietari (u)
Grup (g)
Altres (o)
Bits especials

Ordres

Numèrica
Simbòlica
Tal com ho mostra ls -l
Canvi relatiu des de {from}

Qui pot fer què

    Valors habituals

    Com fer servir la calculadora de chmod

    1. Comença des de qualsevol representació: marca les caselles de la taula Permisos, escriu un mode a Octal (p. ex. 755 o 4755), o enganxa una cadena com rwxr-xr-x o drwxr-sr-x (directament de ls -l) a Simbòlic (p. ex. rwxr-xr-x). Les altres vistes se n’actualitzen a l’instant.
    2. Defineix els Bits especials si els necessites: Setuid (4000), Setgid (2000) o Sticky (1000). El mode octal passa llavors a tenir quatre dígits.
    3. Introdueix el Nom del fitxer o directori, marca És un directori i Recursiu (-R) segons calgui, i copia l’ordre Numèrica o Simbòlica.
    4. Per provar un canvi relatiu, escriu-lo a Canvi simbòlic (p. ex. u+x,go-w) i fes clic a Aplica el canvi.

    Els botons de Valors habituals carreguen modes típics com 644, 600, 755 o 2775. La línia Canvi relatiu des de … mostra l’expressió de chmod que converteix l’últim valor predefinit o el mode escrit en l’actual, per exemple a+x per passar de 644 a 755.

    Com es llegeixen els permisos d’Unix

    Tot fitxer té tres classes d’usuaris: el propietari (u), el grup (g) del fitxer i els altres (o), és a dir, tots els demés. Cada classe té tres permisos, cadascun amb un valor numèric: lectura = 4, escriptura = 2, execució = 1. Sumant-los s’obté un dígit octal per classe: rwx = 7, rw- = 6, r-x = 5, r– = 4. Per això rwxr-xr-x és 755.

    En un directori, les mateixes lletres signifiquen una cosa una mica diferent, que la llista Qui pot fer què detalla: r permet llistar les entrades, w permet crear, canviar el nom i suprimir entrades (juntament amb x), i x permet entrar al directori i arribar als fitxers que conté.

    Bits especials

    • Setuid (4000) en un executable fa que s’executi amb els drets del propietari del fitxer. passwd l’usa per escriure a la base de dades de contrasenyes. Es veu com una s a la posició d’execució del propietari, o una S si falta l’execució.
    • Setgid (2000) en un executable l’executa amb els drets del grup. En un directori, els fitxers nous hereten el grup del directori, cosa que manté coherents les carpetes de projecte compartides (2775).
    • Sticky (1000) en un directori fa que només el propietari d’un fitxer el pugui suprimir o canviar-li el nom, encara que tothom hi pugui escriure. /tmp és 1777. Es veu com una t (o T) a la posició d’execució dels altres.

    Canvis simbòlics

    Una expressió simbòlica és «qui, operador, permisos»: u+x afegeix l’execució per al propietari, go-w treu l’escriptura per al grup i els altres, a=r deixa només la lectura per a tothom, g=u copia els drets del propietari al grup. Separa les clàusules amb comes. La X majúscula afegeix l’execució només als directoris o als fitxers que ja tenen algun bit d’execució, cosa que fa que chmod -R a+X sigui segur en un arbre de fitxers barrejats. Quan s’omet el «qui», aquesta eina aplica el canvi a totes les classes, com fa el chmod de GNU amb una umask de 0.

    Consells de seguretat

    Evita el 777. Permet que qualsevol compte de la màquina, inclòs un procés de servidor web compromès, modifiqui o substitueixi el fitxer. Les opcions segures habituals són 644 per als fitxers, 755 per als directoris i els scripts, 600 per a les claus privades i 700 per als directoris privats. La calculadora avisa dels modes amb escriptura per a tothom, del 777 i dels programes setuid.

    Preguntes freqüents

    Quina diferència hi ha entre chmod 755 i chmod 775?

    Amb 755 només el propietari pot escriure; el grup i els altres poden llegir i executar. El 775 també dona accés d’escriptura al grup, cosa que va bé per als directoris compartits per un equip.

    Quins permisos ha de tenir una clau privada SSH?

    600 (rw-------). OpenSSH es nega a fer servir una clau privada que el grup o els altres puguin llegir.

    Per què de vegades el mode octal té quatre dígits?

    El primer dígit conté els bits especials: 4 per a setuid, 2 per a setgid, 1 per a sticky. 0755 i 755 són el mateix mode.

    Funciona chmod 644 en un directori?

    Estableix els bits, però sense x ningú no pot entrar al directori ni obrir-ne els fitxers. Per als directoris fes servir 755 o 750.

    Què vol dir una S o una T majúscula a ls -l?

    El bit especial està activat, però el bit d’execució corresponent no. Normalment és un error: afegeix el permís d’execució o treu el bit especial.