Umaskovat

umask (z angličtiny maska  ​​režimu vytváření uživatelských souborů - maska ​​režimu vytváření uživatelských souborů  ) je funkce prostředí POSIX , která mění přístupová práva, která jsou standardně přiřazena novým souborům a adresářům . Oprávnění souborů vytvořených s konkrétní hodnotou umask se počítají pomocí následujících bitových operací (umask je obvykle nastaven na osmičkové ):

bitový AND mezi unárním doplňkem argumentu (pomocí bitového NOT ) a režimem plného přístupu.

Režim plného přístupu pro adresáře je 777, pro soubory je to 666. Mnoho unixových shellů poskytuje příkaz umask , který ovlivňuje všechny podřízené procesy běžící v tomto shellu.

Umask ve skutečnosti určuje, které bity by měly být resetovány v souborových oprávněních, která mají být nastavena - každá sada bitů umask zabraňuje nastavení odpovídajícího bitu oprávnění. Výjimkou z tohoto zákazu je spustitelný bit, který u normálních souborů závisí na vytvářeném programu (kompilátory nastavují spustitelný bit na vytvořené soubory, jiné programy nikoli), ale pro adresáře se řídí obecným pravidlem. umask 0 znamená, že byste měli (můžete) nastavit všechny bity oprávnění (rwxrwxrwx), umask 777 zakazuje nastavení jakýchkoli oprávnění.

Příklady

Řekněme, že hodnota umask je 174, pak každý nový soubor bude mít oprávnění 602 a každý nový adresář bude mít 603:

(rwx rwx rwx) 174 8 \u003d (001 111 100) 2 NE (174 8 ) \u003d (110 000 011) 2 666 8 \u003d (110 110 110) 2 ------------- 666 8 AND NOT(174 8 ) = (110 000 010) 2 = 602 8 = (rw- --- -w-) 174 8 = (001 111 100) 2 NE(174 8 ) = (110 000 011) 2 777 8 = (111 111 111) 2 ------------- 777 8 AND NOT(174 8 ) = (110 000 011) 2 = 603 8 = (rw- --- -wx)

V bash :

Umask $ 0174 $ adresář mkdir $touch soubor $ ls -l drw-----wx 2 dave dave 512 1. září 20:59 katalog -rw-----w- 1 dave dave 0 1. září 20:59 soubor

Viz také

Odkazy