Az umask (az angol felhasználói fájl létrehozási mód maszkja - felhasználói fájl létrehozási mód maszkja) egy POSIX - környezeti funkció , amely megváltoztatja az új fájlokhoz és könyvtárakhoz alapértelmezés szerint hozzárendelt hozzáférési jogokat . Az adott umask értékkel létrehozott fájlok jogosultságait a következő bitenkénti műveletek segítségével számítjuk ki (az umask általában oktális értékre van állítva ):
bitenkénti ÉS az argumentum unáris komplementere ( bitenkénti NOT használatával ) és a teljes hozzáférési mód között.A könyvtárak teljes hozzáférési módja a 777, a fájloké a 666. Sok UNIX rendszerhéj tartalmaz egy umask parancsot , amely hatással van az abban futó összes gyermekfolyamatra.
Valójában az umask meghatározza, hogy mely biteket kell alaphelyzetbe állítani a beállítandó fájljogosultságokban – minden umask bitkészlet megakadályozza a megfelelő engedélybit beállítását. Ez alól a tiltás alól kivételt képez a végrehajtható bit, amely normál fájlok esetén a létrehozó programtól függ (a fordítók beállítják a végrehajtható bitet a létrehozott fájlokon, más programok nem), de a könyvtárak esetében az általános szabályt követi. Az umask 0 azt jelenti, hogy be kell (lehet) beállítani az összes engedélybitet (rwxrwxrwx), az umask 777 tiltja az engedélyek beállítását.
Tegyük fel, hogy az umask értéke 174, akkor minden új fájl 602-es, minden új könyvtár pedig 603-as jogosultsággal rendelkezik:
(rwx rwx rwx) 174 8 \u003d (001 111 100) 2 NEM (174 8 ) \u003d (110 000 011) 2 666 8 \u003d (110 110 110) 2 ------------- 666 8 ÉS NEM(174 8 ) = (110 000 010) 2 = 602 8 = (rw- --- -w-) 174 8 = (001 111 100) 2 NEM(174 8 ) = (110 000 011) 2 777 8 = (111 111 111) 2 ------------- 777 8 ÉS NEM(174 8 ) = (110 000 011) 2 = 603 8 = (rw- --- -wx)bashban : _
$ umask 0174 $ mkdir könyvtár $touch fájl $ ls -l drw-----wx 2 dave dave 512 szept. 1. 20:59 katalógus -rw------w- 1 dave dave 0 szeptember 1. 20:59 fájlUnix parancsok | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
|