Android

Jak rekurencyjnie zmieniać uprawnienia do pliku w systemie Linux

Kurs Linux - 02 - Modyfikacja praw dostępu do plików z poziomu terminala

Kurs Linux - 02 - Modyfikacja praw dostępu do plików z poziomu terminala

Spisu treści:

Anonim

Linux jest systemem dla wielu użytkowników, a dostęp do plików jest kontrolowany przez uprawnienia do plików, atrybuty i własność. Dzięki temu tylko autoryzowani użytkownicy i procesy mogą uzyskiwać dostęp do plików i katalogów.

Aby uzyskać więcej informacji na temat uprawnień do plików, zobacz „Umask Command in Linux”., wyjaśnimy, jak rekurencyjnie zmieniać uprawnienia do plików i katalogów.

Chmod Recursive

Polecenie chmod umożliwia zmianę uprawnień do plików w trybie symbolicznym lub numerycznym.

Aby rekurencyjnie operować na wszystkich plikach i katalogach w danym katalogu, użyj polecenia chmod z opcją -R , ( --recursive ). Ogólna składnia rekurencyjnej zmiany uprawnień do pliku jest następująca:

chmod -R MODE DIRECTORY

Na przykład, aby zmienić uprawnienia wszystkich plików i podkatalogów w katalogu /var/www/html na 755 , należy użyć:

chmod -R 755 /var/www/html

Tryb można również określić za pomocą metody symbolicznej:

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

Tylko użytkownik root, właściciel pliku lub użytkownik z uprawnieniami sudo może zmieniać uprawnienia do pliku. Zachowaj szczególną ostrożność, rekurencyjnie zmieniając uprawnienia do plików.

Za pomocą polecenia find

Zasadniczo pliki i katalogi nie powinny mieć takich samych uprawnień. Większość plików nie wymaga uprawnień do wykonywania, natomiast aby je zmienić, należy ustawić uprawnienia do wykonywania katalogów.

Najczęstszym scenariuszem jest rekurencyjna zmiana uprawnień do pliku witryny na 644 a uprawnienia do katalogu na 755 .

Za pomocą metody numerycznej:

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

Za pomocą metody symbolicznej:

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

Polecenie find wyszukuje pliki lub katalogi w katalogu /var/www/html i przekazuje każdy znaleziony plik lub katalog do polecenia chmod celu ustawienia uprawnień.

W przypadku użycia funkcji find z -exec komenda chmod jest uruchamiana dla każdej znalezionej pozycji. Użyj polecenia xargs aby przyspieszyć operację, przekazując wiele wpisów jednocześnie:

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

Wniosek

Polecenie chmod z opcjami -R pozwala rekurencyjnie zmieniać uprawnienia do pliku.

Aby rekurencyjnie ustawiać uprawnienia do plików na podstawie ich typu, użyj chmod w połączeniu z poleceniem find .

terminal chmod