Czasami możesz znaleźć błędy podczas korzystania z dowolnego systemu operacyjnego Linux, takie jak odmowa podczas edycji pliku. Wynika to z mniejszej liczby praw do tego konkretnego pliku. Chown jest zwykle określany skrótem „zmień własność”, co oznacza, że Chown jest instrukcją zmiany właściciela grupy plików i folderów w systemie Linux. Co więcej, w pewnych sytuacjach musisz zmodyfikować właściciela folderu, w którym znajdują się wszystkie dokumenty. Być może będziesz musiał użyć rekurencyjnego chown, który jest jednym z wyborów instrukcji chown. Rekursywny oznacza, że chown zostanie wykonany dla wszystkich dokumentów w określonym katalogu, a także plików i folderów we wszystkich podkatalogach. Dowiesz się, jak rekursywnie modyfikować uprawnienia do katalogów i plików podczas korzystania z instrukcji chown w tym przewodniku.
Składnia:
$ Chown -R Katalog trybówPrzykład 01: Prosty chown
Najpierw musimy zobaczyć, jak działa polecenie chown. Otwórz terminal wiersza poleceń z aplikacji. Uporządkuj wszystkie foldery i pliki z katalogu domowego użytkownika „aqsayasin” za pomocą polecenia listy. Wynik pokazuje listę plików i folderów, jak pokazano.
$ ls
Mamy plik „główny.c” w katalogu domowym użytkownika „aqsayasin”. Musimy sprawdzić właściciela konkretnego pliku, aby dalej zastosować zmiany. W tym celu posłużymy się instrukcją „ls -lart”. Jak pokazano poniżej, możemy powiedzieć, że użytkownik „aqsayasin” jest jego właścicielem i należy do grupy „aqsayasin”.
$ ls -lart nazwa pliku
Zmodyfikujmy go, zmieniając właściciela na użytkownika „root”. W tym celu użyjemy poniższego polecenia „chown”.
$ sudo chown nazwa głównego pliku
Teraz, po sprawdzeniu właściciela pliku i grupy za pomocą tego samego polecenia „ls -lart”, widać, że właściciel został zmieniony. Dane wyjściowe pokazują tego użytkownika „root” jako jego właściciela i należy do tej samej grupy „aqsayasin”.
$ ls -lart nazwa pliku
Chown rekurencyjny z użyciem flagi -R:
Pierwszym i najłatwiejszym sposobem jest użycie flagi -R do określenia rekurencyjnego charakteru instrukcji chown. Sprawdźmy najpierw właścicieli wszystkich plików i folderów znajdujących się w katalogu domowym użytkownika „aqsayasin” za pomocą poniższego polecenia „ls”. Z poniższego wyniku możemy zobaczyć, że właścicielem wszystkich plików z wyjątkiem dwóch jest użytkownik „aqsayasin”.
$ ls -la
Przykład 01: Zmień właściciela
Teraz nadszedł czas, aby zmienić właściciela wszystkich plików i folderów za pomocą flagi -R z zapytaniem chown. W tym celu użyjemy uprawnień sudo. Wypróbuj poniższe polecenie „chown”, a następnie flagę „-R” wraz z nazwą właściciela, którą jest „root”. W tej instrukcji podaliśmy lokalizację katalogu. Oznacza to, że wszystkie pliki i foldery znajdujące się w folderze „aqsayasin” katalogu „Home” będą miały właściciela „root” zamiast użytkownika „aqsayasin”. Zastosowanie zmian może wymagać hasła do konta root.
$ sudo chown -R root /home/aqsayasin/
Po wykonaniu polecenia chown nadszedł czas, aby sprawdzić, czy zmiany zostały wprowadzone skutecznie, czy nie. W tym konkretnym celu użyjemy tego samego polecenia list, którego używaliśmy wcześniej. Wynik pokazuje, że wszystkie pliki zostały zmienione na „root”.
$ ls -la
Przykład 02: Zmień grupę
Po zmianie właściciela nadszedł czas na zmianę grupy wszystkich plików i folderów za pomocą flagi -R w instrukcji chown. Najpierw wypisz wszystkie pliki i foldery za pomocą polecenia listy. Możesz obserwować wszystkie pliki i foldery leżące w grupie „aqsayasin”.
$ ls -la
Zmienimy grupę na „root” z „aqsayasin”. W tym celu użyjemy polecenia chown z flagą -R. W tym poleceniu jest niewielka zmiana. Aby zmienić grupę, użyjemy „:” przed nazwą grupy. Podamy lokalizację katalogu, dla którego chcemy zmienić grupę jego podfolderów. Użyj słowa kluczowego „sudo”, aby zastosować nazwę grupy. Zastosowanie tych zmian może wymagać hasła do konta sudo, jak poniżej.
$ sudo chown -R :root /home/aqsayasin/
Po zastosowaniu zmian ponownie wyświetlimy wszystkie pliki i foldery, aby sprawdzić aktualizację. Użyj poniższego polecenia listy, aby to zrobić. Możesz zobaczyć, że grupa wszystkich plików i folderów została zmieniona na „root”.
$ ls -la
Przykład prostego chown:
Weźmy prosty przykład inny niż chown. Musisz utworzyć dwa pliki o nazwie „jeden.txt” i „scnd.txt” za pomocą polecenia dotykowego w następujący sposób:
$ dotknij nazwapliku1$ dotknij nazwapliku2
Sprawdźmy właściciela i grupę obu plików za pomocą polecenia list, jak poniżej:
$ ls -l nazwa_pliku1$ ls -l nazwa_pliku2
Możesz zobaczyć, że oba pliki mają tego samego właściciela i grupę, np.sol., “aqsayasin”.
Najpierw zmieńmy właściciela pliku „jeden.txt” do użytkownika „root” za pomocą prostego polecenia „sudo chown”, a następnie nazwy właściciela i nazwy pliku, jak poniżej:
$ sudo chown root nazwa pliku1
Po ponownym sprawdzeniu pierwszego pliku za pomocą polecenia listy, możesz zobaczyć, że właściciel został zmieniony na „root”.
$ ls -l nazwa_pliku1
Teraz przypiszemy te same prawa pierwszego pliku do drugiego pliku, używając „odniesienia” w poleceniu chown, a następnie pierwszej nazwy pliku. Następnie musisz podać nazwę drugiego pliku, na którym zostaną zastosowane zmiany, jak poniżej:
$ sudo chown -reference=nazwa_pliku1 nazwa_pliku2
Teraz sprawdź właściciela i grupę drugiego pliku za pomocą tego samego polecenia listy, jak pokazano poniżej:
$ ls -l nazwa_pliku2
Z poniższych danych wyjściowych widzimy, że właściciel został zmieniony na „root”.
Wniosek:
Zrobiliśmy chown rekurencyjnie za pomocą flagi „-R”. Ufnie! Podczas korzystania z tego przewodnika nie będziesz mieć problemu.