GNU/Linux >> Znalost Linux >  >> Linux

UNIX / Linux:Průvodce pro začátečníky k oprávněním k souborům a adresářům (umask, chmod, čtení, zápis, spouštění)

Unixové oprávnění k souborům a adresářům je ve formě struktury 3×3. tj. tři oprávnění (čtení, zápis a spouštění) dostupná pro tři typy uživatelů (vlastník, skupiny a další).

Ve výstupu příkazu ls -l představuje 9 znaků od 2. do 10. pozice oprávnění pro 3 typy uživatelů.

-rw-r--r--  1 sathiya sathiya  272 Mar 17 08:22 test.txt

Ve výše uvedeném příkladu:

  • Uživatel (sathiya) má oprávnění ke čtení a zápisu
  • Skupina má oprávnění ke čtení
  • Ostatní mají oprávnění ke čtení

Tři oprávnění k souboru:

  • číst :povoleno číst obsah souboru.
  • pište :povoleno zapisovat do souboru.
  • provést :povoleno spustit soubor jako program/skript.

Oprávnění ke třem adresářům:

  • číst :povoleno číst obsah adresáře (prohlížet soubory a podadresáře v tomto adresáři).
  • pište :povoleno zapisovat do adresáře. (vytvářejte soubory a podadresáře v tomto adresáři)
  • provést :povoleno vstoupit do tohoto adresáře.

Číselné hodnoty pro oprávnění ke čtení, zápisu a spouštění:

  • přečtěte si 4
  • napište 2
  • provést 1

Chcete-li mít kombinaci oprávnění, přidejte požadovaná čísla. Například pro oprávnění ke čtení a zápisu je to 4+2 =6.

Změňte oprávnění k souborům a adresářům pomocí příkazu Chmod

Ke změně oprávnění souboru nebo adresáře můžete použít buď osmičkovou reprezentaci, nebo symbolickou reprezentaci.

Osmičková reprezentace pro oprávnění:

  • První číslo je pro uživatele
  • Druhé číslo je pro skupinu
  • Třetí číslo je pro ostatní

Například dejte read, write ( 4+2 =6 ) uživateli a read ( 4 ) skupině a dalším.

$ chmod 644 filename

Například dejte read, execute ( 4 + 1 =5 ) uživateli a read (4) skupině a nic ( 0 ) ostatním.

$ chmod 540 filename

Například dejte read, write ( 4 + 2 =6 ) uživateli a nic ( 0 ) skupině a read ( 4 ) ostatním.

$ chmod 604 filename

Umask 022 je odpovědný za výchozí oprávnění souboru

Výchozí hodnota umask je 0022, která určuje výchozí oprávnění pro nový soubor nebo adresář. Výchozí oprávnění pro adresář je 0777, pro soubory jsou oprávnění 0666, z čehož se odečte výchozí hodnota umask 0022 pro získání nově vytvořených souborů nebo oprávnění k adresáři.

Konečné výchozí oprávnění pro soubor se vypočítá následovně:

  • Výchozí oprávnění k souboru:666
  • Výchozí umask:022
  • Konečné výchozí oprávnění k souboru:644

Konečné výchozí oprávnění pro adresář se vypočítá podle následujícího obrázku:

  • Výchozí oprávnění k adresáři:777
  • Výchozí umask:022
  • Konečné výchozí oprávnění k adresáři:755

Hodnotu umask můžete změnit na odpovídající hodnotu toho, co potřebujete na základě výše uvedeného výpočtu. Pokud například nechcete, aby se souborem nebo adresářem cokoliv dělal někdo jiný než uživatel (vlastník), můžete zadat umask jako 0077.

$ umask 0077

Poté, pokud vytvoříte soubor nebo adresář, bude mít oprávnění pouze pro uživatele, jak je uvedeno níže:

$ > testfile
$ ls -l testfile
-rw------- 1 sathiya sathiya 0 Mar 17 08:23 testfile

Linux
  1. Oprávnění pro Linux:Úvod do chmod

  2. Linux chmod and chown – Jak změnit oprávnění a vlastnictví souborů v Linuxu

  3. Linux – Rozumíte unixovým oprávněním a typům souborů?

  1. Jak povolím indexování souborů a adresářů Apache v systému Linux nebo UNIX?

  2. UNIX / Linux:Jak používat Sticky Bit na adresář a soubor

  3. Pochopení toho, jak Umask řídí počáteční oprávnění k souborům / adresářům v Linuxu

  1. Linux – spouštění versus čtení bit. Jak fungují adresářová oprávnění v Linuxu?

  2. Jak spravovat oprávnění/vlastnictví souborů a adresářů v Linuxu

  3. Otázky k pohovoru s Linuxem – základní oprávnění k souborům a adresářům