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!