Zwykle użytkownik, który tworzy plik, ma prawa do dostępu i zmiany uprawnień do pliku. Ponadto użytkownik root ma domyślnie wszystkie uprawnienia do dostępu do każdego pliku w systemie.
W tym artykule wyjaśnimy, jak zmienić uprawnienia do katalogu rekurencyjnie w systemie OS Linux przy użyciu dwóch różnych metod. Najpierw podamy krótki przegląd sposobu przeglądania i zmiany uprawnień do plików, a następnie omówimy rekurencyjną zmianę uprawnień.
Wyświetl aktualne uprawnienia do pliku
Aby spojrzeć na bieżące uprawnienia pliku lub katalogu, uruchom następujące polecenie w terminalu:
$ ls -l
Na przykład, jeśli uruchomimy LS-L, Otrzymalibyśmy podobne dane wyjściowe:
Na powyższej liście, jeśli pierwsza postać wiersza zaczyna się od „D”, wskazuje, że jest to katalog, a jeśli zaczyna się od „-”, wskazuje, że jest to plik. Następnie następne dziewięć znaków pokazuje uprawnienia pliku lub katalogu. Te dziewięć znaków jest faktycznie pogrupowane w trzy zestawy odpowiednio dla użytkownika, grupy i właściciela. Ponadto każdy zestaw zawiera trzy rodzaje uprawnień, które są R, W i X są odpowiednio dla „Przeczytaj”, „Write” i „Wykonaj”.
Zmień uprawnienia
W Linux, aby zmienić uprawnienia pliku lub katalogu, używane jest polecenie CHMOD. Aby jednak zmienić uprawnienie, musisz być właścicielem pliku lub użytkownikiem root.
Składnia to:
$ chmod [odniesienie] [Operator] [Mode] File1 File2…
Gdzie
Zmiana uprawnień rekurencyjnie za pomocą -R
Być może zauważyłeś, że jeśli zastosujesz uprawnienia za pomocą powyższego polecenia CHMOD, uprawnienia te są stosowane tylko do pliku lub katalogu określonego w poleceniu. Nie będzie on zastosowany do podwodnych lub plików w katalogu.
CHMOD umożliwia zmianę uprawnień wielu plików i podwodników w katalogu za pomocą opcji -r w następujący sposób:
$ chmod -r [reference] [operator] [tryb] plik…
Powiedzmy, że podkazowatki w katalogu pobierania mają następujące uprawnienia, jak pokazano na poniższym zrzucie ekranu.
Jeśli zobaczymy jeden z plików o nazwie wymierzonych podkładek, zawiera on niektóre pliki z następującymi uprawnieniami.
Teraz zmodyfikujmy zgodę naszego katalogu nadrzędnego „plików”, przypisując go zgodę na zapis w następujący sposób.
$ chmod u+w pliki
Gdzie jesteś „użytkownikiem”, + dla „Dodaj” i W dla „Write”.
Po przypisaniu uprawnienia do zapisu uruchom „ls -l„Polecenie, możesz zobaczyć, jak nowa zgoda została przypisana do katalogu„ plików ”.
Jednak to polecenie stosuje tylko uprawnienia do katalogu, a nie plików pod nim. Aby to zweryfikować, przejdź do katalogu plików za pomocą „płyta CD" Komenda. Następnie uruchom „ls -l" Komenda. Na poniższym zrzucie ekranu możesz zobaczyć, że uprawnienia nie będą się zmieniać.
Zastosujmy uprawnienie rekurencyjnie za pomocą następującego polecenia:
$ chmod -r u+w pliki
Zastosuje nie tylko zgodę na katalog „plików nadrzędnych”, ale także do plików pod nim.
Teraz, aby sprawdzić, czy uprawnienie zostanie pomyślnie zastosowane, przejdź do katalogu „Pliki” za pomocą „płyta CD”Polecenie, a następnie uruchom„ls -l" Komenda. Z następujących danych wejściowych widać, że uprawnienia z powodzeniem zastosowano do wszystkich plików w katalogu nadrzędnym.
W ten sam sposób możesz również rekurencyjnie przypisać uprawnienia w formie bezwzględnej. Na przykład, aby przypisać odczyt, zapisać i wykonać uprawnienie tylko użytkownikowi, można użyć następującego polecenia:
$ chmod -r 700
Zmiana uprawnień rekurencyjnie za pomocą polecenia Znajdź
Gdy CHMOD z -r jest używany do zastosowania pozwolenia w katalogu, przypisuje to samo zgodę na wszystkie pliki i podwodne podlecie. Jednak czasami możesz chcieć udzielić osobnych uprawnień do plików i katalogów. Przykładem tego byłoby zastosowanie uprawnienia wykonania w katalogu, ale nie do plików, ponieważ pliki nie wymagają uprawnienia wykonania. Zasadniczo następujące uprawnienia są przypisywane do plików i katalogów.
W przypadku katalogów: 755 lub drwxr-xr-xxJeśli tak jest, rekurencyjnie przypisuje zgodę na katalogi, użyj jednej z formy bezwzględnej lub symbolicznej:
$ find/path/to/Directory -Type d -exec chmod 755 +
$ find/ścieżka/do/katalog -type d -exec chmod u = rwx, Go = rx \;
Podczas rekurencyjnego przypisywania uprawnień do plików, użyj jednej z formy bezwzględnej lub symbolicznej:
$ find/ścieżka/do/Directory -Type f -exec chmod 644 +
$ find/ścieżka/do/katalog -type f -exec chmod u = rw, Go = r \;
Pamiętaj, aby zastąpić uprawnienia na wymagane zestawy uprawnień.
W ten sposób możesz rekurencyjnie zmienić uprawnienia do katalogu w Linux. Aby zastosować te same uprawnienia rekurencyjne do całego pliku i podwodnicy, użyj opcji -r podczas zastosowania uprawnień rekurencyjnych do plików i podwodnych osobno, użyj komendy Znajdź.