Utilia

Calculator chmod

Convertește permisiunile Unix între căsuțe, notația octală (755) și cea simbolică (rwxr-xr-x), cu setuid, setgid, sticky bit și comenzi chmod gata de folosit.

Permisiuni
ClasăCitire (4)Scriere (2)Execuție (1)
Proprietar (u)
Grup (g)
Alții (o)
Biți speciali

Comenzi

Numeric
Simbolic
Așa cum arată ls -l
Modificare relativă față de {from}

Cine ce poate face

    Presetări uzuale

    Cum folosești calculatorul chmod

    1. Pornește de la orice reprezentare: bifează căsuțele din tabelul Permisiuni, scrie un mod în Octal (de ex. 755 sau 4755) sau lipește un șir precum rwxr-xr-x ori drwxr-sr-x (direct din ls -l) în Simbolic (de ex. rwxr-xr-x). Celelalte vederi se actualizează instantaneu.
    2. Setează Biți speciali dacă ai nevoie de ei: Setuid (4000), Setgid (2000) sau Sticky (1000). Modul octal va avea atunci patru cifre.
    3. Introdu Numele fișierului sau al directorului, bifează Este un director și Recursiv (-R) după caz și copiază comanda Numeric sau Simbolic.
    4. Pentru a testa o modificare relativă, scrie-o în Modificare simbolică (de ex. u+x,go-w) și apasă Aplică modificarea.

    Butoanele Presetări uzuale încarcă moduri tipice, precum 644, 600, 755 sau 2775. Linia Modificare relativă față de … arată expresia chmod care transformă ultima presetare sau ultimul mod scris în cel curent, de exemplu a+x de la 644 la 755.

    Cum se citesc permisiunile Unix

    Fiecare fișier are trei clase de utilizatori: proprietarul (u), grupul (g) fișierului și alții (o), adică toți ceilalți. Fiecare clasă primește trei permisiuni, fiecare cu o valoare numerică: citire = 4, scriere = 2, execuție = 1. Adunându-le se obține o cifră octală pentru fiecare clasă: rwx = 7, rw- = 6, r-x = 5, r– = 4. De aceea rwxr-xr-x înseamnă 755.

    Pe un director, aceleași litere au un sens ușor diferit, pe care lista Cine ce poate face îl explică: r permite listarea intrărilor, w permite crearea, redenumirea și ștergerea intrărilor (împreună cu x), iar x permite intrarea în director și accesul la fișierele din el.

    Biții speciali

    • Setuid (4000) pe un executabil îl face să ruleze cu drepturile proprietarului fișierului. passwd îl folosește pentru a scrie în baza de date de parole. Apare ca s în poziția de execuție a proprietarului, sau S dacă lipsește execuția.
    • Setgid (2000) pe un executabil îl rulează cu drepturile grupului. Pe un director, fișierele noi moștenesc grupul directorului, ceea ce păstrează coerente dosarele de proiect comune (2775).
    • Sticky (1000) pe un director permite doar proprietarului unui fișier să îl șteargă sau să îl redenumească, chiar dacă toți pot scrie acolo. /tmp este 1777. Apare ca t (sau T) în poziția de execuție a celorlalți.

    Modificări simbolice

    O expresie simbolică are forma „cine, operator, permisiuni”: u+x adaugă execuția pentru proprietar, go-w elimină scrierea pentru grup și alții, a=r setează doar citirea pentru toți, g=u copiază drepturile proprietarului la grup. Separă clauzele prin virgule. Litera mare X adaugă execuția doar pentru directoare sau pentru fișierele care au deja un bit de execuție, ceea ce face chmod -R a+X sigur pe un arbore cu fișiere de tipuri diferite. Când „cine” lipsește, instrumentul aplică modificarea tuturor claselor, așa cum face GNU chmod cu un umask 0.

    Sfaturi de securitate

    Evită 777. Acest mod permite oricărui cont de pe mașină, inclusiv unui proces de server web compromis, să modifice sau să înlocuiască fișierul. Alegeri sigure obișnuite sunt 644 pentru fișiere, 755 pentru directoare și scripturi, 600 pentru chei private și 700 pentru directoare private. Calculatorul avertizează asupra modurilor cu scriere pentru toți, asupra lui 777 și asupra programelor setuid.

    Întrebări frecvente

    Care este diferența dintre chmod 755 și chmod 775?

    Cu 755 poate scrie doar proprietarul; grupul și ceilalți pot citi și executa. 775 dă drept de scriere și grupului, ceea ce se potrivește directoarelor comune ale unei echipe.

    Ce permisiuni trebuie să aibă o cheie privată SSH?

    600 (rw-------). OpenSSH refuză să folosească o cheie privată care poate fi citită de grup sau de alții.

    De ce modul octal are uneori patru cifre?

    Prima cifră conține biții speciali: 4 pentru setuid, 2 pentru setgid, 1 pentru sticky. 0755 și 755 sunt același mod.

    Funcționează chmod 644 pe un director?

    Setează biții, dar fără x nimeni nu poate intra în director sau deschide fișierele din el. Folosește 755 sau 750 pentru directoare.

    Ce înseamnă un S sau T majuscul în ls -l?

    Bitul special este setat, dar bitul de execuție corespunzător nu. De obicei este o greșeală: adaugă permisiunea de execuție sau elimină bitul special.