Android

Příkaz masky v linuxu

Krok za krokom: Ako nainštalovať WordPress na svoj počítač (Linux)

Krok za krokom: Ako nainštalovať WordPress na svoj počítač (Linux)

Obsah:

Anonim

V operačních systémech Linux a Unix jsou všechny nové soubory vytvářeny s výchozí sadou oprávnění. Obslužný program umask umožňuje zobrazit nebo nastavit masku vytváření režimu souborů, která určuje bity oprávnění pro nově vytvořené soubory nebo adresáře.

Používají jej mkdir, touch, tee a další příkazy, které vytvářejí nové soubory a adresáře.

Oprávnění pro Linux

Než se vydáme dále, krátce si vysvětlíme model Linuxových oprávnění.

V systému Linux je každý soubor spojen s vlastníkem a skupinou a je jim přidělena přístupová práva pro oprávnění pro tři různé třídy uživatelů:

  • vlastník souboru. Členové skupiny. Každý další.

Pro každou třídu platí tři typy oprávnění:

  • oprávnění ke čtení. oprávnění k zápisu. provedení oprávnění.

Tento koncept umožňuje určit, kteří uživatelé mohou číst soubor, zapisovat do něj nebo provádět soubor.

Chcete-li zobrazit oprávnění souboru, použijte příkaz ls :

ls -l dirname

drwxr-xr-x 12 linuxize users 4.0K Apr 8 20:51 dirname | | | | | | | | | | | | +-----------> Group | | | | +-------------------> Owner | | | +----------------------------> Others Permissions | | +-------------------------------> Group Permissions | +----------------------------------> Owner Permissions +------------------------------------> File Type

První znak představuje typ souboru, kterým může být běžný soubor ( - ), adresář ( d ), symbolický odkaz ( l ) nebo jakýkoli jiný zvláštní typ souboru.

Oprávnění představuje dalších devět znaků, každá tři sady po třech znacích. První sady ukazují oprávnění vlastníka, druhá skupiny oprávnění a poslední sada zobrazuje oprávnění ostatních.

Znak r s osmičkovou hodnotou 4 znamená čtení, w s osmičkovou hodnotou 2 pro zápis, x s osmičkovou hodnotou 1 pro oprávnění ke spuštění a ( - ) s osmičkovou hodnotou 0 pro žádná oprávnění.

Existují také tři další speciální typy oprávnění souborů: setuid , setgid a Sticky Bit .

Ve výše uvedeném příkladu ( rwxr-xr-x ) znamená, že majitel má oprávnění ke čtení, zápisu a spouštění ( rwx ), skupina a další mají oprávnění ke čtení a provádění.

Pokud reprezentujeme souborová oprávnění pomocí číselné notace, dostaneme číslo 755 :

  • Vlastník: rwx = 4+2+1 = 7 Skupina: rx = 4+0+1 = 5 Ostatní: rx = 4+0+1 = 5

Jsou-li reprezentována v numerickém zápisu, mohou mít oprávnění tři nebo čtyři osmičková číslice (0-7). První číslice představuje zvláštní oprávnění a pokud je vynechána, znamená to, že na soubor nejsou nastavena žádná zvláštní oprávnění. V našem případě je 755 stejné jako 0755 . První číslice může být kombinací 4 pro setuid , 2 pro setgid a 1 pro Sticky Bit .

Oprávnění k souborům lze změnit pomocí chmod a vlastnictví pomocí příkazu chown .

Pochopení umask

Ve výchozím nastavení jsou v systémech Linux výchozí oprávnění pro vytváření 666 pro soubory, což dává oprávnění ke čtení a zápisu uživatelům, skupinám a dalším, a 777 pro adresáře, což znamená oprávnění ke čtení, zápisu a spouštění pro uživatele, skupiny a ostatní. Linux neumožňuje vytvoření souboru s oprávněními ke spuštění.

Výchozí oprávnění k vytváření lze upravit pomocí obslužného programu umask .

umask ovlivňuje pouze aktuální prostředí prostředí. U většiny linuxových distribucí je v systému pam_umask.so nebo v souboru /etc/profile nastavena výchozí hodnota umask pro celý systém.

Chcete-li zobrazit aktuální hodnotu masky, jednoduše zadejte příkaz umask bez argumentů:

umask

Výstup bude zahrnovat

022

Hodnota umask obsahuje bity oprávnění, které NENÍ nastaveny na nově vytvořené soubory a adresáře.

Jak jsme již zmínili, výchozí oprávnění pro vytváření souborů jsou 666 a pro adresáře 777 . Pro výpočet bitů oprávnění nových souborů odečtěte hodnotu umask od výchozí hodnoty.

Například pro výpočet toho, jak uname 022 ovlivní nově vytvořené soubory a adresáře, použijte:

  • Soubory: 666 - 022 = 644 . Vlastník může soubory číst a upravovat. Skupina a další mohou číst pouze soubory. Adresáře: 777 - 022 = 755 Majitel může cd do adresáře a seznamu číst, upravovat, vytvářet nebo mazat soubory v adresáři. Skupina a další mohou cd do adresáře a seznam a číst soubory.

Hodnotu masky můžete také zobrazit v symbolickém zápisu pomocí volby -S :

umask -S

u=rwx, g=rx, o=rx

Na rozdíl od číselného zápisu obsahuje hodnota symbolického zápisu oprávnění bitů, které budou nastaveny na nově vytvořené soubory a adresáře.

Nastavení hodnoty masky

Masku vytvoření souboru lze nastavit pomocí osmičkové nebo symbolické notace. Aby změny byly trvalé, nastavte novou hodnotu umask v globálním konfiguračním souboru, jako je /etc/profile který ovlivní všechny uživatele nebo v uživatelských konfiguračních souborech shellu, jako jsou ~/.profile , ~/.bashrc nebo ~/.zshrc které ovlivní pouze uživatele. Uživatelské soubory mají přednost před globálními soubory.

Před provedením změn hodnoty umask se ujistěte, že nová hodnota nepředstavuje potenciální bezpečnostní riziko. Hodnoty méně omezující než 022 by se měly používat s velkou opatrností. Například umask 000 znamená, že kdokoli bude číst, zapisovat a provádět oprávnění pro všechny nově vytvořené soubory.

Řekněme, že chceme nastavit restriktivnější oprávnění pro nově vytvořené soubory a adresáře, takže ostatní nebudou moci cd do adresářů a číst soubory. Požadovaná oprávnění jsou 750 pro adresáře a 640 pro soubory.

Pro výpočet hodnoty umask jednoduše odečtěte požadovaná oprávnění od výchozího:

Hodnota masky: 777-750 = 027

Požadovaná hodnota umask reprezentovaná v numerickém zápisu je 027 .

Chcete-li trvale nastavit novou hodnotu v celém systému, otevřete v textovém editoru soubor /etc/profile :

sudo nano /etc/profile

a změňte nebo přidejte následující řádek na začátek souboru:

/ etc / profile

umask 027

Změny se projeví spuštěním následujícího source příkazu nebo odhlášení a přihlášení:

source /etc/profile

Pro ověření nového nastavení vytvoříme jeden nový soubor a adresář pomocí mkdir a touch :

mkdir newdir touch newfile

drwxr-x--- 2 linuxize users 4096 Jul 4 18:14 newdir -rw-r----- 1 linuxize users 0 Jul 4 18:14 newfile

Dalším způsobem, jak nastavit masku vytvoření souboru, je použití symbolického zápisu. Například umask u=rwx, g=rx, o= je stejné jako umask 027 .

Závěr

V této příručce jsme vysvětlili oprávnění systému Linux a jak pomocí příkazu umask nastavit bity oprávnění pro nově vytvořené soubory nebo adresáře.

Pro více informací napište man umask ve vašem terminálu.

umask terminál