Umask

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.

Példák

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ájl

Lásd még

Linkek