Mikä on umask?

umask (user file-creation mode mask) on Linux- ja Unix-asetus, joka hallitsee uusille tiedostoille ja hakemistoille määritettäviä oletuskäyttöoikeuksia. Sen sijaan, että määritettäisiin käyttöoikeudet suoraan, umask määrittää, mitkä käyttöoikeusbitit tulisi poistaa järjestelmän oletuksista uuden tiedoston tai hakemiston luomisen yhteydessä.

Järjestelmä alkaa perusoikeuksista 666 (luku- ja kirjoitusoikeus kaikille) tiedostoille ja 777 (luku-, kirjoitus- ja suoritusoikeus kaikille) hakemistoille. Umask vähennetään sitten bittikohtaisesti näistä oletuksista käyttämällä loogista AND-NOT-operaatiota, jolloin saadaan lopulliset käyttöoikeudet. Esimerkiksi umaskilla 022 uudet tiedostot saavat oikeudet 644 ja uudet hakemistot 755.

Jokainen umask-numero vastaa käyttöoikeusluokkaa: ensimmäinen numero vaikuttaa omistajaan, toinen ryhmään ja kolmas muihin. Numero 0 tarkoittaa, että mitään käyttöoikeuksia ei poisteta, kun taas 7 poistaa kaikki kyseisen luokan käyttöoikeudet.

Työkalun kuvaus

Linux umask -laskin muuntaa umask-arvon ja perusoikeuden tuloksena oleviksi tehokkaiksi käyttöoikeuksiksi sekä oktaali- että symbolisessa merkinnässä. Se myös luo tarkan umask-shell-komennon, mikä auttaa järjestelmänvalvojia, kehittäjiä ja DevOps-insinöörejä ennakoimaan umask-muutoksen tuloksen ennen sen soveltamista shell-ympäristöön, skriptiin tai järjestelmän konfiguraatioon.

Esimerkit

Umask Base Tuloksena oleva oktaali Symbolinen
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--

Ominaisuudet

  • Laskee tuloksena olevat oktaali- ja symboliset käyttöoikeudet mistä tahansa umaskista
  • Tukee sekä 3-numeroisia että 4-numeroisia (joissa on johtava sticky/setuid-bitti) umask-arvoja
  • Yleiset umask-esiasetukset (022, 027, 077, 002, 007, 000)
  • Perusoikeuksien esiasetukset tiedostoille (666) ja hakemistoille (777)
  • Luo valmiin umask-shell-komennon

Käyttötapaukset

  • Palvelimen kovettaminen: Esikatsele tiukempaa umaskia, kuten 077, ennen sen lisäämistä /etc/profile-tiedostoon tai käyttäjän shell-konfiguraatioon varmistaaksesi, että uudet tiedostot ovat yksityisiä.
  • Jaetut kehitysympäristöt: Varmista, että 002 tai 007 tuottaa ryhmän kirjoitettavissa olevia tiedostoja yhteistyöprojektien hakemistoille.
  • Käyttöönottoskriptit: Vahvista, että CI/CD-putkissa tai kontin aloituspisteissä käytetty umask tuottaa sovelluksen lokitiedostoille ja ladatuille resursseille odotettavat käyttöoikeudet.

Kuinka se toimii

Lopulliset käyttöoikeudet lasketaan jokaiselle luokalle (omistaja, ryhmä, muut) kaavalla:

final = base AND (NOT umask)

Jokainen oktaaliluku käsitellään itsenäisesti. Umask-numerolla 2 (binääri 010) ja perusnumerolla 6 (binääri 110) tulos on 110 AND NOT 010 = 100, mikä vastaa 4:ää (vain luku). 4-numeroisen umask-arvon johtava numero hallitsee erikoisbittejä (setuid, setgid, sticky) ja jätetään huomiotta tavallisessa käyttöoikeuksien laskennassa.

Vinkit

  • Käytä 666:ta perusoikeuksina nähdäksesi tiedostojen käyttöoikeudet, ja 777:ää hakemistojen käyttöoikeuksille.
  • Umask 000 tarkoittaa, että mitään käyttöoikeuksia ei poisteta — hyödyllinen vain tiukasti hallituissa, eristetyssä ympäristöissä.
  • Tehdäksesi umaskista pysyvän, lisää luotu komento tiedostoon ~/.bashrc, ~/.profile tai /etc/profile riippuen haluamastasi laajuudesta.