bitlvl
SR

umask kalkulator

umask uklanja bitove dozvola novim datotekama. Ukucajte ga da vidite rezultat, ili štiklirajte dozvole koje želite da nove datoteke i direktorijumi imaju.

Uklonjeni bitovi
r
w
x
Vlasnik
Grupa
Ostali

Rezultati i poruke ovog alata prikazuju se na engleskom.

Kako umask radi

Kada program pravi datoteku, traži mod, gotovo uvek 666 (rw-rw-rw-) za datoteke i 777 za direktorijume. Kernel zatim briše svaki bit koji je postavljen u umask-u procesa. Sa uobičajenim 022, uklanjaju se bitovi za pisanje za grupu i ostale: datoteke postaju 644, direktorijumi 755. Sa 077 grupi i ostalima odlazi sve: 600 i 700. Maska može samo da uklanja dozvole, nikad da ih dodaje; datoteka nikad ne dobija izvršavanje od umask-a, jer ga 666 nikad nije ni imao.

Aritmetika je mod & ~umask, bitovsko I sa invertovanom maskom, a ne oduzimanje, pa umask 027 nad 666 daje 640, a ne 639.

Uobičajene vrednosti

umaskDatotekeDirektorijumiKoristi se za
022644755Podrazumevano na većini distribucija; ostali mogu da čitaju.
002664775Debian/Ubuntu za korisnike sa privatnom grupom; članovi grupe mogu da pišu.
077600700Privatno po podrazumevanom: serveri, home direktorijumi sa tajnama.
027640750Grupa može da čita, ostali ništa; uobičajena osnova za hardening (CIS).

Gde se postavlja

  • Školjka: umask ga ispisuje, umask 027 ga postavlja za sesiju; stavite ga u ~/.profile ili /etc/profile. umask -S ga prikazuje simbolički.
  • Prijava: /etc/login.defs (UMASK) i pam_umask postavljaju vrednost pre nego što se školjka pokrene; /etc/profile na Debianu je izvodi iz toga da li korisnik ima privatnu grupu.
  • systemd servisi: UMask=0077 u sekciji [Service]; servisi ne čitaju profile školjke.
  • cron: poslovi se izvršavaju sa 022 bez obzira na podešavanja korisnikove školjke; postavite ga unutar skripte.
  • Docker: podrazumevano u kontejneru je 022; promenite ga u entrypoint-u ili sa umask u komandi.

Pitanja

Zašto moje nove datoteke imaju 644 kad želim 664?

Vaš umask je 022. Postavite umask 002 (i proverite da je grupa direktorijuma ona koju želite, sa setgid bitom na direktorijumu da bi je nove datoteke nasledile).

Da li umask utiče na chmod?

Ne. chmod postavlja tačne bitove. umask se primenjuje samo kada se datoteka pravi bez eksplicitnog moda, što je gotovo uvek.

Zašto direktorijum dobija izvršavanje, a datoteka ne?

Direktorijumi se prave sa 777 pre maske, datoteke sa 666. Izvršavanje na direktorijumu znači „može se ući“; datotekama treba eksplicitan chmod +x.

Da li je četvorocifreni umask drugačiji?

Vodeća 0 (0022) je samo oktalna notacija. Prva cifra bi maskirala setuid/setgid/sticky, koje procesi koji prave datoteke nikad ne traže, pa u praksi nema efekta.