Utilia

Chmod-kalkylator

Omvandla Unix-filbehörigheter mellan kryssrutor, oktal (755) och symbolisk (rwxr-xr-x) form, med setuid, setgid, sticky-bit och färdiga chmod-kommandon.

Behörigheter
KlassLäsa (4)Skriva (2)Köra (1)
Ägare (u)
Grupp (g)
Övriga (o)
Specialbitar

Kommandon

Numeriskt
Symboliskt
Som ls -l visar det
Relativ ändring från {from}

Vem får göra vad

    Vanliga förval

    Så använder du chmod-kalkylatorn

    1. Börja från vilken form du vill: kryssa i rutorna i tabellen Behörigheter, skriv ett läge i Oktalt (t.ex. 755 eller 4755) eller klistra in en sträng som rwxr-xr-x eller drwxr-sr-x (direkt från ls -l) i Symboliskt (t.ex. rwxr-xr-x). De andra vyerna uppdateras direkt.
    2. Ställ in Specialbitar om du behöver dem: Setuid (4000), Setgid (2000) eller Sticky (1000). Det oktala läget får då fyra siffror.
    3. Skriv in Fil- eller katalognamn, kryssa vid behov i Det är en katalog och Rekursivt (-R), och kopiera det Numeriskt eller Symboliskt kommandot.
    4. För att testa en relativ ändring skriver du den i Symbolisk ändring (t.ex. u+x,go-w) och klickar på Tillämpa ändring.

    Knapparna under Vanliga förval laddar typiska lägen som 644, 600, 755 eller 2775. Raden Relativ ändring från … visar det chmod-uttryck som gör om det senaste förvalet eller inskrivna läget till det nuvarande, till exempel a+x från 644 till 755.

    Så läser du Unix-behörigheter

    Varje fil har tre klasser av användare: ägaren (u), filens grupp (g) och övriga (o), det vill säga alla andra. Varje klass får tre behörigheter, som var och en har ett värde: läsa = 4, skriva = 2, köra = 1. Summan ger en oktal siffra per klass: rwx = 7, rw- = 6, r-x = 5, r– = 4. Därför är rwxr-xr-x lika med 755.

    På en katalog betyder samma bokstäver något lite annat, vilket listan Vem får göra vad förklarar: r låter dig lista posterna, w låter dig skapa, byta namn på och ta bort poster (tillsammans med x), och x låter dig gå in i katalogen och nå filerna där.

    Specialbitar

    • Setuid (4000) på ett körbart program gör att det körs med filägarens rättigheter. passwd använder det för att skriva i lösenordsdatabasen. Biten visas som s på ägarens körplats, eller S om körbehörigheten saknas.
    • Setgid (2000) på ett körbart program kör det med gruppens rättigheter. På en katalog ärver nya filer katalogens grupp, vilket håller delade projektmappar konsekventa (2775).
    • Sticky (1000) på en katalog gör att bara en fils ägare kan ta bort eller byta namn på den, även när alla kan skriva där. /tmp har 1777. Biten visas som t (eller T) på övrigas körplats.

    Symboliska ändringar

    Ett symboliskt uttryck består av ”vem, operator, behörigheter”: u+x lägger till körbehörighet för ägaren, go-w tar bort skrivbehörighet för grupp och övriga, a=r gör filen skrivskyddad för alla och g=u kopierar ägarens rättigheter till gruppen. Skilj satserna åt med kommatecken. Versalen X lägger bara till körbehörighet för kataloger och för filer som redan har en körbit, vilket gör chmod -R a+X säkert på ett träd med blandade filer. Utelämnas ”vem” tillämpar verktyget ändringen på alla klasser, som GNU chmod gör med umask 0.

    Säkerhetstips

    Undvik 777. Det låter alla konton på maskinen, även en kapad webbserverprocess, ändra eller ersätta filen. Vanliga säkra val är 644 för filer, 755 för kataloger och skript, 600 för privata nycklar och 700 för privata kataloger. Kalkylatorn varnar för lägen där alla kan skriva, för 777 och för setuid-program.

    Vanliga frågor

    Vad är skillnaden mellan chmod 755 och chmod 775?

    Med 755 kan bara ägaren skriva, medan gruppen och övriga kan läsa och köra. 775 ger även gruppen skrivbehörighet, vilket passar kataloger som ett team delar.

    Vilka behörigheter ska en privat SSH-nyckel ha?

    600 (rw-------). OpenSSH vägrar använda en privat nyckel som gruppen eller övriga kan läsa.

    Varför har det oktala läget ibland fyra siffror?

    Den första siffran innehåller specialbitarna: 4 för setuid, 2 för setgid, 1 för sticky. 0755 och 755 är samma läge.

    Fungerar chmod 644 på en katalog?

    Bitarna sätts, men utan x kan ingen gå in i katalogen eller öppna filerna i den. Använd 755 eller 750 för kataloger.

    Vad betyder versalt S eller T i ls -l?

    Specialbiten är satt men motsvarande körbit är det inte. Det är oftast ett misstag: lägg till körbehörigheten eller ta bort specialbiten.