How To Chown Recursively on Linux

Chown jest poleceniem w Linuksie, które jest używane w celu zmiany właściciela zestawu plików lub katalogów.

Chown pochodzi z wielu opcji i jest często używany do zmiany grupy będącej właścicielem pliku.

Jednakże, w niektórych przypadkach, możesz potrzebować zmienić właściciela katalogu ze wszystkimi plikami w nim.

W tym celu, możesz potrzebować użyć jednej z opcji polecenia chown : recursive chown.

W tym samouczku, dowiesz się jak możesz rekurencyjnie użyć polecenia chown do zmiany uprawnień folderów i plików rekurencyjnie.

Table of Contents

Chown rekurencyjnie

Najprostszym sposobem użycia polecenia chown rekurencyjnie jest wykonanie „chown” z opcją „-R” dla rekurencji i określenie nowego właściciela oraz folderów, które chcemy zmienić.

$ chown -R <owner> <folder_1> <folder_2> ... <folder_n>

Na przykład, jeśli chcesz zmienić właściciela katalogów i plików znajdujących się w katalogu domowym określonego użytkownika, napiszesz

$ chown -R user /home/user

Uwaga: jeśli potrzebujesz kompletnego przewodnika po poleceniu chown, napisaliśmy obszerny o uprawnieniach do plików w Linuksie.

Chown User and Group Recursively

Aby zmienić użytkownika i grupę będącą właścicielem katalogów i plików, musisz wykonać polecenie „chown” z opcją „-R” i podać użytkownika i grupę oddzielone dwukropkami.

$ chown -R <user>:<group> <folder_1> <folder_2> ... <folder_n>

Na przykład, powiedzmy, że chcesz zmienić użytkownika będącego właścicielem plików na „user” i grupę będącą właścicielem plików na „root”.

Aby to osiągnąć, wykonasz następujące polecenie

$ chown -R user:root /home/user

Gratulacje, udało Ci się użyć polecenia „chown” rekursywnie do zmiany właścicieli na Twoim serwerze!

Chown rekursywnie przy użyciu find

Innym sposobem rekursywnego użycia polecenia „chown” jest połączenie go z poleceniem „find” w znajdowaniu plików pasujących do danego wzorca i zmianie ich właścicieli i grup.

$ find <path> -name <pattern> -exec chown <user>:<group> {} \;

Na przykład, powiedzmy, że chcesz zmienić właściciela dla wszystkich plików TXT, które są obecne wewnątrz danego katalogu na twoim serwerze.

Po pierwsze, bardzo zalecane jest wykonanie polecenia „find” samodzielnie w celu sprawdzenia, czy dopasowujesz właściwe pliki.

W tym przykładzie, zamierzamy dopasować wszystkie pliki TXT w katalogu domowym bieżącego użytkownika.

$ find /home/user -name *.txt

Teraz, gdy upewniłeś się, że kierujesz się do właściwych plików, możesz powiązać je z „chown” w celu rekursywnej zmiany uprawnień.

$ find /home/user -name *.txt -exec chown user {} \;

Jak widać, właściciel plików TXT został zmieniony, ale żaden z pozostałych plików i katalogów nie został zmieniony.

Będąc ostrożnym z rekurencyjnym chown

W systemie Linux, wykonanie poleceń takich jak chown, chmod lub rm jest ostateczne: nie ma odwrotu.

W konsekwencji, będziesz musiał być bardzo ostrożny, aby nie wykonać żadnych poleceń, które mogą uszkodzić system.

Punkt ten został zilustrowany w poprzedniej sekcji: uruchomiliśmy samo polecenie find i upewniliśmy się, że jest to poprawny wynik.

Następnie wykonaliśmy polecenie chown w celu rekursywnej zmiany uprawnień plików z poprzedniego polecenia.

Jako zasada kciuka: jeśli nie jesteś pewien wyniku polecenia, podziel je na mniejsze części, aż będziesz pewien, że nie wykonasz niczego szkodliwego.

Wniosek

W tym poradniku, nauczyłeś się jak możesz wykonać polecenie chown rekurencyjnie w swoim systemie.

Dowiedziałeś się, że możesz to osiągnąć używając opcji „-R” lub łącząc ją z poleceniem find.

Uprawnienia w Linuksie to szeroki temat: naprawdę zachęcamy do zapoznania się z naszym kompletnym przewodnikiem po Uprawnieniach w Linuksie, jeśli chcesz dowiedzieć się więcej.

Jeśli interesuje cię Administracja Systemem Linux, mamy na stronie sekcję poświęconą temu zagadnieniu, więc upewnij się, że to sprawdzisz!

Dodaj komentarz