Android

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

Revolution OS - 2001 - Multilingual (16 languages)

Revolution OS - 2001 - Multilingual (16 languages)

Obsah:

Anonim

Linux je víceuživatelský systém a přístup k souborům je řízen prostřednictvím oprávnění, atributů a vlastnictví souborů. Tím je zajištěno, že pouze oprávnění uživatelé a procesy mají přístup k souborům a adresářům.

Další informace o oprávněních k souborům najdete v části „Příkaz masky v systému Linux“., vysvětlíme, jak rekurzivně měnit oprávnění souborů a adresářů.

Chmod rekurzivní

Příkaz 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 příkaz chmod s možností -R , ( --recursive ). Obecná syntaxe pro rekurzivní změnu oprávnění souboru je následující:

chmod -R MODE DIRECTORY

Například pro změnu oprávnění všech souborů a podadresářů v adresáři /var/www/html 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

Oprávnění k souboru může měnit pouze root, vlastník souboru nebo uživatel s právy sudo . Při rekurzivní změně oprávnění souborů buďte zvláště opatrní.

Pomocí příkazu find

Soubory a adresáře by obecně neměly mít stejná oprávnění. Většina souborů nevyžaduje oprávnění ke spuštění, zatímco pro změnu v nich musíte nastavit oprávnění ke spuštění v adresářích.

Nejběžnějším scénářem je rekurzivní změna oprávnění souboru webového serveru 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 {} ;

Příkaz find hledá soubory nebo adresáře v adresáři /var/www/html a předá každý nalezený soubor nebo adresář chmod aby nastavil oprávnění.

Při použití příkazu find s -exec se pro každou nalezenou položku spustí příkaz chmod . Pomocí příkazu xargs operaci 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 d -print0 | xargs -0 chmod 755 find /var/www/html -type f -print0 | xargs -0 chmod 644 find /var/www/html -type f -print0 | xargs -0 chmod 644

Závěr

Příkaz chmod s možnostmi -R vám umožňuje rekurzivně měnit oprávnění souboru.

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

terminál chmod