GNU/Linux >> Znalost Linux >  >> Linux

Spravujte oprávnění k adresářům a souborům pomocí chmod Rekurzivní

Už vás nebaví ručně měnit oprávnění k souborům a adresářům? Hledáte rychlejší a efektivnější způsob úpravy oprávnění k souborům a adresářům? Pokud ano, pak jste na správném místě, protože v tomto článku se dozvíte, jak změnit oprávnění k souborům a adresářům pomocí příkazu chmod rekurzivně!

Nejste čtenář? Podívejte se na tento související video tutoriál! Nevidíte video? Ujistěte se, že máte vypnutý blokovač reklam.

Čtěte dále a dozvíte se více!

Předpoklady

Abyste mohli pokračovat, potřebujete linuxové zařízení a adresář, jehož soubory a podadresáře jsou k dispozici pro procvičování.

Informace o uživatelích a skupinách systému Linux

Vlastníci a skupiny jsou v Linuxu důležití, nezbytní pro bezpečnou správu souborů a adresářů. Vlastník je ten, komu je soubor nebo adresář přiřazen, což je ve výchozím nastavení tvůrce. V Linuxu soubory a adresáře také patří do skupin. Uživatelé i skupiny se nastavují pomocí chown příkaz.

Na snímku obrazovky níže zobrazuje obsah zvýrazněný zeleně uživatele, který vlastní soubor nebo adresář, mihail v tomto příkladu. Obsah zvýrazněný modře ukazuje, do které skupiny soubor nebo adresář patří, vlastněné staff skupina v tomto příkladu.

Vysvětlení oprávnění k souborům a adresářům v systému Linux

Oprávnění nastavují, jaké akce může uživatel nebo skupina provádět s daným souborem nebo adresářem. Jsou označeny znakovou reprezentací a je jim také přiřazena číselná hodnota.

  • Přečtěte si (r nebo 4 ): Označuje, zda uživatel nebo skupina může číst obsah souboru nebo adresáře. Oprávnění ke čtení je standardně uděleno všem nově vytvořeným souborům a adresářům pro všechny strany.
  • Napište (w nebo 2 ): Označuje, zda uživatel nebo skupina může upravovat obsah objektu. Toto oprávnění je standardně uděleno pouze vlastníkovi souboru nebo adresáře.
  • Spustit (x nebo 1 ): Označuje, zda uživatel nebo skupina může spouštět soubor nebo spouštět příkazy v adresáři. Oprávnění ke spuštění je standardně uděleno pouze adresářům, ale ne souborům.

Pokud uživateli nedáte (u ) spouštět oprávnění k adresáři, nebudou moci vypisovat obsah, protože uživatel nebude moci spouštět příkazy v adresáři!

Níže je uveden příklad, výstup příkazu ls -l ukazuje různé typy oprávnění. Těmto oprávněním předchází d hodnotu, označte adresář.

Proč tedy existují zdánlivě tři sady oprávnění pro každý objekt? Podrobné kontroly oprávnění je dosaženo rozdělením oprávnění do sekcí (označovaných jako strany pro účely tohoto výukového programu) uvedených níže.

  • Uživatel (u ): Vlastník souboru nebo adresáře, zvýrazněný modře.
  • Skupina (g ): Členové skupiny, do které soubor nebo adresář patří, zvýrazněni zeleně.
  • Jiné (o ): Všichni další uživatelé a skupiny, které nejsou explicitně přiřazeny, jsou zvýrazněny červeně.

Změna oprávnění k souboru pomocí rekurzivního příkazu chmod

Se správným porozuměním oprávněním Linuxu čtěte dále a zjistěte, jak změnit oprávnění souborů. Oprávnění se upravují pomocí chmod rekurzivní příkaz, jak je ukázáno v níže uvedených příkladech.

1. Nejprve zkontrolujte aktuální oprávnění pomocí ls -l příkaz. Zde je my_dir/index.js soubor se zobrazí.

2. Spusťte chmod příkaz s uvedením strany, a (vše) a oprávnění rwx nebo čtení/zápis/spouštění. Následuje úplný příkaz:chmod a=rwx index.js .

3. Jak vidíte, běží chmod rekurzivní nevrací žádný výstup. Chcete-li ověřit, že se oprávnění změnila, spusťte příkaz ls -l znovu.

Nastavení oprávnění k souboru pomocí číselných hodnot

Pamatujete si čísla spojená s oprávněními, jako je čtení nebo zápis? Místo zadávání hodnot znaků můžete zadat konkrétní oprávnění pomocí čísla. Přidáním hodnot vytvoříte konkrétní oprávnění, například 6 což je kombinace zápisu (2 ) a číst (4 ) oprávnění.

V níže uvedeném příkladu nastavte oprávnění pro main.py soubor pomocí příkazu chmod 664 main.py . Číselné hodnoty jsou rozděleny následovně.

  • Uživatel: Čtení a zápis (6 ).
  • Skupina: Čtení a zápis (6 ).
  • Jiné: Přečíst (4 ).

Po změně oprávnění ověřte nová oprávnění pro main.py soubor s příkazem ls -l .

Odebrání a přidání oprávnění k souboru

Nenumerické příkazy, které jste dosud spustili, používaly parametr přiřazení (= ) s chmod rekurzivní pro nastavení explicitních oprávnění. Místo toho můžete odstranit (- ) nebo přidejte (+ ) oprávnění k existujícím sadám oprávnění.

1. Nejprve uveďte seznam stávajících oprávnění pro README.md soubor pomocí příkazu ls -l README.md .

2. Dále přidejte (+ ) spustit (x ) oprávnění pro uživatelskou stranu (u ), při odstraňování (- ) číst (r ) oprávnění od druhé strany (o ) pro README.md , pomocí následujícího příkazu chmod u+x,o-r README.md . Oprávnění různých stran jsou oddělena čárkami (, ).

3. Spusťte ls -l README.md příkaz k ověření, že oprávnění byla změněna.

Rekurzivně měnící se oprávnění k souborům a adresářům

Přestože děláte pokrok, pracujete vždy pouze s jedním souborem. Co když máte velký počet souborů ke změně oprávnění? Je čas vylepšit hru a naučit se měnit oprávnění pro více souborů.

Jednou z možností, jak změnit více souborů, je spustit chmod rekurzivní s -R (rekurzivní, nikoli kapitálová) možnost. Možnost rekurzivní změní oprávnění pro všechny soubory, včetně souborů v podadresářích, v dané cestě.

1. Zvažte následující příkaz, chmod -R a=r,u=rwx my_dir . Většina možností, které jste již viděli.

Tento příkaz změní oprávnění pro všechny soubory v adresáři my_dir a podadresáře prostřednictvím rekurzivní volby (-R ). Soubory jsou nastaveny jako čitelné (r ) pro všechny (a ), s odlišnými oprávněními pro aktuálního uživatele (u ) nastavena na plná oprávnění (čtení, zápis, spouštění).

Na snímku obrazovky níže vidíte výsledná oprávnění po provedení příkazu, který nemá žádný výsledný výstup.

2. Předpokládejme, že spustíte příkaz chmod -R a=rwx my_dir , ve stejném adresáři jako předtím, my_dir. Opět měníte všechny soubory v my_dir, a jeho podadresáře, pro nastavení dát all (a ) plná oprávnění (číst, zapisovat, spouštět). Zde je výsledek příkazu jako chmod rekurzivní nezobrazuje výstup.

3. A co numerická metoda? Jak je uvedeno níže, rekurzivní metoda funguje také s číselnými oprávněními chmod -R 770 my_dir . Zde dáváte plná oprávnění uživateli a skupině, ale žádná oprávnění druhé straně.

4. Spusťte ls -l zkontrolovat můj_adresář oprávnění k souborům a podadresářům se nastavují číselnou metodou.

Definování chování souborů a složek pomocí zvláštních oprávnění

Speciální oprávnění umožňují několik dalších oprávnění jedinečných ze standardních sad oprávnění. Existují tři speciální oprávnění. Zde je návod, jak tato speciální oprávnění fungují a jak je můžete přidat do souboru nebo adresáře.

Nastavení oprávnění SUID (uživatel + S)

Běžně se označuje jako SUID , jedná se o speciální oprávnění pro uživatele. SUID má jedinou funkci:soubor s SUID se vždy spustí jako uživatel, který soubor vlastní, bez ohledu na to, kdo soubor spouští.

Zvažte například index.js . Chcete-li zadat další SUID oprávnění, spusťte chmod u+s index.js .

Nyní, když spustíte ls -l index.js , zjistíte, že uživatel má s v jejich oprávněních místo x.

Nastavení oprávnění SGID (skupina + S)

Běžně se označuje jako SGID , toto zvláštní oprávnění má dvě funkce:

  • Pokud je nastaveno pro soubor, umožňuje spuštění souboru jako skupiny který soubor vlastní, bez ohledu na to, kdo soubor spouští.
  • Pokud je nastaveno pro adresář, všechny soubory vytvořené v adresáři budou mít svou skupinu vlastnictví nastaveno na vlastníka adresáře.

Cvičte na index.php soubor. Chcete-li přidat SGID oprávnění k tomuto souboru, spusťte následující příkaz:chmod g+s index.php .

Nyní, když spustíte ls -l index.php , zjistíte, že skupinas v jejich oprávněních.

Přejděte do adresáře:my_dir . Můžete přidat SGID oprávnění k tomuto adresáři pomocí následujícího příkazu:chmod g+s my_dir . Všechny soubory vytvořené v tomto adresáři budou mít nyní svou skupinu vlastnictví nastaveno na vlastníka adresáře. Nová oprávnění adresáře můžete zkontrolovat pomocí ls -ld my_dir (d parametr omezuje výstup pouze na adresáře).

Změna oprávnění Sticky Bit

Poslední speciální povolení je také známé jako „lepivý bit“. Toto oprávnění nemá vliv na jednotlivé soubory. Ale na úrovni adresáře omezuje mazání souborů. Pouze vlastník souboru může odstranit soubor v tomto adresáři.

Přidejte lepivý kousek do starého známého my_dir adresář. Chcete-li to provést, spusťte příkaz takto:chmod +t my_dir .

Upozorňujeme, že pro přidání lepivého bitu neuvádíte další group(o) před +t .

Když zaškrtnete my_dir s novými oprávněními, uvidíte v ostatních velké T oprávnění, jak je znázorněno na snímku obrazovky níže.

Závěr

Gratulujeme! Na chmod jste probrali mnoho témat rekurzivní. Nyní jste připraveni řešit jakékoli nepříjemné problémy s oprávněními, které se vyskytnou s všemocným chmod nástroj. Dokonce jste se naučili, jak využít sílu rekurzivního (-R ).

Jak hodláte implementovat chmod všestranná funkčnost ve váš prospěch, až budete příště potřebovat spravovat oprávnění k souborům nebo adresářům?


Linux
  1. 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í)

  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

  1. Tabulka oprávnění pro soubor/adresář a typy uživatelů souborového systému

  2. Zachování oprávnění souborů a složek pomocí rsync

  3. Pochopení oprávnění UNIX a typů souborů

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

  2. Ssh a oprávnění k domovskému adresáři?

  3. Připojte pomocí sshfs a oprávnění k zápisu do souboru