Hva er umask?

umask (user file-creation mode mask) er en Linux- og Unix-innstilling som kontrollerer standardtillatelsene som tildeles nyopprettede filer og kataloger. I stedet for å angi tillatelser direkte, definerer umask hvilke tillatelsesbiter som skal fjernes fra systemstandardene når en ny fil eller katalog opprettes.

Systemet starter med en basistillatelse på 666 (lese- og skrivetilgang for alle) for filer og 777 (lese-, skrive- og kjøretilgang for alle) for kataloger. Umask trekkes deretter bitvis fra disse standardene ved hjelp av en logisk AND-NOT-operasjon, noe som gir de endelige tillatelsene. For eksempel, med en umask på 022, ender nye filer opp med 644 og nye kataloger med 755.

Hver umask-siffer tilsvarer en tillatelelsesklasse: den første sifferen påvirker eieren, den andre gruppen, og den tredje andre. En siffer på 0 betyr at ingen tillatelser er maskert ut, mens 7 fjerner alle tillatelser for den klassen.

Verktøybeskrivelse

Linux umask-kalkulatoren konverterer en umask-verdi og en basistillatelse til de resulterende effektive tillatelsene i både oktal og symbolsk notasjon. Den genererer også den eksakte umask-skallkommandoen, noe som hjelper systemadministratorer, utviklere og DevOps-ingeniører med å forhåndsvise resultatet av enhver umask før den brukes på et skall, skript eller systemkonfigurasjon.

Eksempler

Umask Base Resulterende oktal Symbolsk
022 666 644 rw-r--r--
022 777 755 rwxr-xr-x
077 666 600 rw-------
027 777 750 rwxr-x---
002 666 664 rw-rw-r--

Funksjoner

  • Beregner resulterende oktal og symbolske tillatelser fra enhver umask
  • Støtter både 3-sifret og 4-sifret (med ledende sticky/setuid-bit) umask-verdier
  • Vanlige umask-forhåndsinnstillinger (022, 027, 077, 002, 007, 000)
  • Basistillatelses-forhåndsinnstillinger for filer (666) og kataloger (777)
  • Genererer den klare umask-skallkommandoen

Brukstilfeller

  • Serverhardening: Forhåndsvise en strengere umask som 077 før du legger den til /etc/profile eller en brukers skallkonfigurasjon for å sikre at nye filer er private.
  • Delte utviklingsmiljøer: Bekreft at 002 eller 007 produserer gruppeskrivbare filer for samarbeidende prosjektkatalog.
  • Distribusjonsskrip: Bekreft at umask som brukes i CI/CD-rørledninger eller containerinngangspointer vil produsere forventede filltillatelser for applikasjonslogger og opplastede ressurser.

Hvordan det fungerer

Den endelige tillatelsen beregnes for hver klasse (eier, gruppe, andre) ved hjelp av formelen:

final = base AND (NOT umask)

Hver oktal siffer behandles uavhengig. For en umask-siffer på 2 (binær 010) og en base-siffer på 6 (binær 110), er resultatet 110 AND NOT 010 = 100, som tilsvarer 4 (skrivebeskyttet). Den ledende sifferen i en 4-sifret umask kontrollerer spesielle biter (setuid, setgid, sticky) og ignoreres i standardtillatelelsesberegningen.

Tips

  • Bruk 666 som base for å se tillatelser for nye filer, og 777 for nye kataloger.
  • En umask på 000 betyr at ingen tillatelser blir fjernet — nyttig bare i tett kontrollerte, isolerte miljøer.
  • For å gjøre umask permanent, legger du den genererte kommandoen til ~/.bashrc, ~/.profile eller /etc/profile avhengig av omfanget du ønsker.