Chmod-kalkylator

Klass Läsa (r) Skriva (w) Beräkna (x)
Ägare
Grupp
Övriga
Nästa

Unix-filbehörigheter kommer i tre tripletter, läs, skriv, kör för user, group, other, vilka komprimeras snyggt till ett tresiffrigt oktaltal. chmod 755 script.sh är rwxr-xr-x: ägaren har allt, group och others har läs och kör. Den här kalkylatorn låter dig växla varje kryssruta och se oktalen vändas live, eller klistra in ett oktaltal och se rwx-uppdelningen, med det exakta chmod-kommandot redo att kopiera.

Så fungerar chmod-behörigheter

  1. 1

    Växla de 9 behörighetsbitarna

    Tre grupper (user, group, other) × tre behörigheter (läs, skriv, kör) = 9 kryssrutor.

  2. 2

    Varje grupp blir en oktalsiffra

    Läs = 4, skriv = 2, kör = 1. Summera de bitar du vill ha aktiverade.

  3. 3

    Läs av den resulterande oktala och symboliska formen

    t.ex. 755 → rwxr-xr-x; 644 → rw-r--r--; 600 → rw-------.

  4. 4

    Kopiera chmod-kommandot

    Verktyget visar chmod-kommandot för de aktuella rättigheterna, redo att kopiera. Exempel: chmod 755 filnamn, chmod u+x filnamn, chmod -R 755 katalog.

Behörighetsbitarnas värden

Bit Värde Betydelse för filer Betydelse för kataloger
Läs 4 Kan visa innehåll Kan lista poster
Skriv 2 Kan modifiera Kan skapa / ta bort / döpa om poster
Kör 1 Kan köras som ett program Kan traversera (cd in i, komma åt inuti)

Vanliga chmod-värden

Oktal Symbolisk Typisk användning
777 rwxrwxrwx Skrivbar för alla, farligt; sällan korrekt
755 rwxr-xr-x Skript, binärer, kataloger
750 rwxr-x--- Skript privata för dig och din grupp
700 rwx------ Skript privata för dig (SSH, ~/.ssh)
644 rw-r--r-- Publika dokument, bilder, HTML
640 rw-r----- Grupp-läsbara konfigurationer
600 rw------- Privata konfigurationer, SSH-privatnycklar, ~/.netrc
444 r--r--r-- Skrivskyddade publicerade filer
400 r-------- Privat skrivskyddad (sällan korrekt; använd 600)

Specialbehörigheter (sällsynta men viktiga)

  • setuid (4xxx): kör filen som dess ägare, oavsett vem som exekverar. /usr/bin/passwd använder detta.
  • setgid (2xxx): på filer körs som gruppen. På kataloger ärver nya filer katalogens grupp.
  • sticky bit (1xxx): på kataloger kan endast filens ägare ta bort/döpa om. /tmp använder detta.

Fyrsiffriga oktaler inkluderar dessa: chmod 4755 setuid-binary slår på setuid tillsammans med 755.

Symbolisk chmod

Många administratörer föredrar symbolisk form för stegvisa ändringar:

  • chmod u+x script, lägg till kör endast för ägaren.
  • chmod go-w file, ta bort skriv för group och other.
  • chmod a+r file, ge läs till alla (user, group, other).
  • chmod u=rw,go=r file, ställ in exakt dessa bitar.
  • chmod -R 755 directory, rekursivt.

Vanliga misstag

  • 777 på uppladdningsmappar: verkar “fixa behörigheter”; öppnar i själva verket servern för angripare. Använd en snävare kombination (t.ex. 755 med korrekt gruppägande).
  • chmod -R 644 på kataloger: tar bort kör på kataloger, så du kan inte cd in i dem. Använd 755 för kataloger, 644 för vanliga filer.
  • 0600 kontra 600: inledande nolla indikerar oktal i C och skal; de flesta chmod-implementationer accepterar båda.
  • Umask: nya filer ärver 666 minus umask. Standard-umask 022 ger 644-filer och 755-kataloger.

Vanliga frågor

Du vill vanligtvis att ägaren ska kunna modifiera, och att alla andra ska kunna lista och traversera. 755 = rwx för ägaren, r-x för group och other, exakt den kombinationen.

Nästan aldrig. 777 låter vem som helst på systemet modifiera filen. I fleranvändarsystem är det ett säkerhetshål; i enanvändarsystem är det onödigt (ägaren har redan rwx med 755). Om en webbapp verkar behöva 777 är den verkliga lösningen korrekt ägande (chown) eller gruppmedlemskap.

~/.ssh-katalog: 700. Privatnycklar (id_rsa, id_ed25519): 600. Publika nycklar (.pub): 644. authorized_keys: 600. SSH avvisar nycklar med bredare behörigheter som en säkerhetsåtgärd.

chown för ägare, chgrp för grupp, separata kommandon. chmod ändrar bara bitar, inte den user/group som äger filen.

Relaterade verktyg

Verktyget finns på andra språk