Umask

umask (fra engelsk  brugerfiloprettelsestilstand mask  - brugerfiloprettelsestilstandmaske) er en POSIX - miljøfunktion , der ændrer de adgangsrettigheder, der er tildelt nye filer og mapper som standard . Tilladelserne for filer, der er oprettet med en bestemt umask-værdi, beregnes ved hjælp af følgende bitvise operationer (umask er normalt indstillet til oktal ):

bitvis OG mellem argumentets unære komplement (ved hjælp af bitvise NOT ) og fuld adgangstilstand.

Den fulde adgangstilstand for mapper er 777, for filer er den 666. Mange UNIX-skaller giver en umask- kommando , der påvirker alle underordnede processer, der kører i denne shell.

Faktisk angiver umask hvilke bits der skal nulstilles i filtilladelserne, der skal indstilles - hvert umask bitsæt forhindrer den tilsvarende tilladelsesbit i at blive indstillet. Undtagelsen fra dette forbud er den eksekverbare bit, som for normale filer afhænger af det oprettede program (kompilatorer sætter den eksekverbare bit på oprettede filer, andre programmer gør det ikke), men for mapper følger den den generelle regel. umask 0 betyder, at du bør (kan) indstille alle tilladelsesbits (rwxrwxrwx), umask 777 forbyder at indstille nogen tilladelser.

Eksempler

Lad os sige, at umask-værdien er 174, så vil hver ny fil have tilladelser på 602, og hver ny mappe vil have 603:

(rwx rwx rwx) 174 8 \u003d (001 111 100) 2 IKKE (174 8 ) \u003d (110 000 011) 2 666 8 \u003d (110 110 110) 2 ------------- 666 8 OG IKKE(174 8 ) = (110 000 010) 2 = 602 8 = (rw- --- -w-) 174 8 = (001 111 100) 2 IKKE(174 8 ) = (110 000 011) 2 777 8 = (111 111 111) 2 ------------- 777 8 OG IKKE(174 8 ) = (110 000 011) 2 = 603 8 = (rw- --- -bx)

I bash :

$ umask 0174 $ mkdir bibliotek $touch fil $ ls -l drw-----wx 2 dave dave 512 1. september 20:59 katalog -rw-----w- 1 dave dave 0 1. september 20:59 fil

Se også

Links