GNU/Linux >> Znalost Linux >  >> Linux

Jak rekurzivně změnit oprávnění souborů v Linuxu

Pokud používáte Linux jako svůj hlavní operační systém nebo spravujete linuxové servery, narazíte na situaci, kdy se pokusíte vytvořit nebo upravit soubor a zobrazí se chyba „Odepření oprávnění“. Chyby související s nedostatečnými oprávněními lze obvykle vyřešit nastavením správných oprávnění nebo vlastnictví souboru.

Linux je systém pro více uživatelů a přístup k souborům je řízen prostřednictvím oprávnění, atributů a vlastnictví souborů. To zajišťuje, že k souborům a adresářům mají přístup pouze oprávnění uživatelé a procesy.

Další informace o oprávněních k souborům naleznete v části „Příkaz Umask v Linuxu“.

V tomto článku vysvětlíme, jak rekurzivně změnit oprávnění souborů a adresářů.

Rekurzivní Chmod #

chmod umožňuje změnit oprávnění souborů pomocí symbolického nebo číselného režimu.

Chcete-li rekurzivně pracovat se všemi soubory a adresáři v daném adresáři, použijte chmod pomocí -R , (--recursive ) možnost. Obecná syntaxe pro rekurzivní změnu oprávnění souboru je následující:

chmod -R MODE DIRECTORY

Chcete-li například změnit oprávnění všech souborů a podadresářů pod /var/www/html adresář na 755 byste použili:

chmod -R 755 /var/www/html

Režim lze také určit pomocí symbolické metody:

chmod -R u=rwx,go=rx /var/www/html

Pouze root, vlastník souboru nebo uživatel s sudo oprávnění mohou změnit oprávnění souboru. Při rekurzivní změně oprávnění souborů buďte zvlášť opatrní.

Pomocí find Příkaz #

Obecně platí, že soubory a adresáře by neměly mít stejná oprávnění. Většina souborů nevyžaduje oprávnění ke spouštění, zatímco pro změnu na adresáře musíte oprávnění ke spouštění nastavit.

Nejběžnějším scénářem je rekurzivně změnit oprávnění souboru webu na 644 a oprávnění adresáře na 755 .

Pomocí numerické metody:

find /var/www/html -type d -exec chmod 755 {} \;find /var/www/html -type f -exec chmod 644 {} \;

Pomocí symbolické metody:

find /var/www/html -type d -exec chmod u=rwx,go=rx {} \;find /var/www/html -type f -exec chmod u=rw,go=r {} \;

find příkaz vyhledává soubory nebo adresáře pod /var/www/html a předá každý nalezený soubor nebo adresář do chmod příkaz pro nastavení oprávnění.

Při použití find s -exec , chmod příkaz se spustí pro každý nalezený záznam. Použijte xargs příkaz pro urychlení operace předáním více položek najednou:

find /var/www/html -type d -print0 | xargs -0 chmod 755 find /var/www/html -type f -print0 | xargs -0 chmod 644

Závěr č.

chmod pomocí -R možnosti umožňují rekurzivně měnit oprávnění souboru.

Chcete-li rekurzivně nastavit oprávnění souborů na základě jejich typu, použijte chmod v kombinaci s find příkaz.

Pokud máte nějaké dotazy nebo zpětnou vazbu, neváhejte zanechat komentář.


Linux
  1. Jak změnit barvu vašeho terminálu Linux

  2. Jak změnit identitu systému Linux

  3. Přečtěte si, jak změnit oprávnění pro soubory a složky

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

  2. Jak používat příkaz chmod (Change Mode) v Linuxu

  3. Jak nastavit oprávnění linux pro složku WWW?

  1. Jak změnit oprávnění souborů rekurzivně pomocí chmod v Linuxu

  2. Jak používat příkaz Linux cd ke změně adresáře

  3. Jak změnit výchozí prostředí v Linuxu