Tag Archive for unix

umask leírás

Akkor lássuk a medvét: az umask után egy 3-jegyű szám adható meg (hasonlóan ahhoz amikor chmod-nál 3 számjegyet adunk meg), és ezzel azt definiáljuk, melyek azok a jogok melyeket az ezután létrehozott file vagy könyvtár NE KAPJON MEG ! Vagyis azokat a jogokat ahol 1-es bitet írtunk elő az umask-ban. Például egy umask 672 azt jelenti hogy a létrejövő file/könyvtár esetén a usernél nincs r,w jog (6=4+2), group-nál nincs r,w,x jog (7=4+2+1), továbbá other-nél nincs w jog (2).
Az hogy a többi joggal mi lesz azt NEM TUDJUK, hiszen ez már nem az umask-tól függ hanem attól hogy a létrehozó program milyen jogokat szán a file/könyvtár-nak. Fenti példa alapján így tehát lehetséges hogy other-nél van x-jog, de az is lehet hogy nincs !
Álljon itt egy olyan példa amit egy unix-os gépen csináltam:

$ umask
022
$ mkdir teszt1
$ ls -ld teszt1
drwxr-sr-x 2 oracle dba 512 Jan 21 12:44 teszt1
$ umask 777
$ mkdir teszt2
$ ls -ld teszt2
d-----S--- 2 oracle dba 512 Jan 21 12:45 teszt2
$ umask 000
$ mkdir teszt3
$ ls -ld teszt3
drwxrwsrwx 2 oracle dba 512 Jan 21 12:46 teszt3

Az is belátható hogy az umask nincs kihatással a setuid,setgid,sticky bitekre hiszen ha ezekre is tudna hatni akkor nem 3, hanem 4 számjegyet lehetne umask-nál megadni. Gyengébbek kedvéért: teszt1 esetén a group-nál van x-jog, csak mivel a setgid bit 1-re van állítva, “takarásban van az x”. teszt2 esetén viszont hiányzik az x-jog, így nagy “S” betű áll azon a helyen. Hozzáteszem hogyha valaki a példámat kipróbálja egy másik gépen nem biztos hogy ugyanezeket a jogokat fogja tapasztalni. Ez azért van mert az umask-kal csak azt tudjuk elérni, milyen jogok NE LEGYENEK az új objektumnál, ezeken kívül a többi jogra nincs az umask hatással.