Android

Polecenie Chown w systemie Linux (własność pliku)

Linux команда chmod - команда изменения прав доступа.

Linux команда chmod - команда изменения прав доступа.

Spisu treści:

Anonim

Polecenie chown pozwala zmienić własność użytkownika i / lub grupy danego pliku, katalogu lub dowiązania symbolicznego.

W systemie Linux wszystkie pliki są powiązane z właścicielem i grupą i przypisane z uprawnieniami dostępu dla właściciela pliku, członków grupy i innych.

W tym samouczku pokażemy, jak używać chown praktycznych przykładach.

Jak korzystać z chown

Zanim przejdziemy do korzystania z chown , zacznijmy od zapoznania się z podstawową składnią.

Wyrażenia polecenia chown mają następującą postać:

chown USER FILE(s)

USER to nazwa użytkownika lub identyfikator użytkownika (UID) nowego właściciela. GROUP to nazwa nowej grupy lub identyfikator grupy (GID). FILE(s) to nazwa jednego lub więcej plików, katalogów lub łączy. Identyfikatory numeryczne powinny być poprzedzone symbolem + .

  • USER - Jeśli określony zostanie tylko użytkownik, określony użytkownik stanie się właścicielem podanych plików, własność grupy nie zostanie zmieniona. USER: - Gdy po nazwie użytkownika następuje dwukropek : i nazwa grupy nie jest podana, użytkownik stanie się właścicielem plików, a własność grupy plików zostanie zmieniona na grupę logowania użytkownika. USER:GROUP - Jeśli określono zarówno użytkownika, jak i grupę (bez spacji między nimi), własność użytkownika plików jest zmieniana na danego użytkownika, a własność grupy na określoną grupę. :GROUP - Jeśli użytkownik zostanie pominięty, a grupa jest poprzedzona dwukropkiem : tylko własność grupy plików zostanie zmieniona na daną grupę. : Jeśli podano tylko dwukropek : bez określenia użytkownika i grupy, nie zostaną wprowadzone żadne zmiany.

Domyślnie po sukcesie chown nie generuje żadnych wyników i zwraca zero.

Użyj komendy ls -l aby dowiedzieć się, kto jest właścicielem pliku lub do jakiej grupy należy ten plik:

ls -l filename.txt

-rw-r--r-- 12 linuxize users 12.0K Apr 8 20:51 filename.txt |- | | | +-----------> Group +-------------------> Owner

Tylko użytkownik root lub użytkownik z uprawnieniami sudo może zmienić własność grupy do pliku.

Jak zmienić właściciela pliku

Aby zmienić właściciela pliku, użyj komendy chown a następnie nazwy użytkownika nowego właściciela i pliku docelowego jako argumentu:

chown USER FILE

Na przykład następujące polecenie zmieni własność pliku o nazwie file1 na nowego właściciela o nazwie linuxize :

chown linuxize file1

Aby zmienić własność wielu plików lub katalogów, określ je jako listę oddzieloną spacjami. Poniższe polecenie zmienia własność pliku o nazwie file1 i katalogu dir1 na nowego właściciela o nazwie linuxize :

chown linuxize file1 dir1

Zamiast nazwy użytkownika można użyć numerycznego identyfikatora użytkownika (UID). Poniższy przykład zmieni własność pliku o nazwie file2 na nowego właściciela o UID 1000 :

chown 1000 file2

Jeśli właściciel numeryczny istnieje jako nazwa użytkownika, wówczas własność zostanie przeniesiona na nazwę użytkownika. Aby uniknąć tego prefiksu identyfikator za pomocą + :

chown 1000 file2

Jak zmienić właściciela i grupę pliku

Aby zmienić zarówno właściciela, jak i grupę pliku, użyj chown a następnie nowego właściciela i grupę oddzielonych dwukropkiem (:) bez spacji i pliku docelowego.

chown USER:GROUP FILE

Następujące polecenie zmieni własność pliku o nazwie file1 na nowego właściciela o nazwie linuxize i grupy users :

chown linuxize:users file1

W przypadku pominięcia nazwy grupy po dwukropku (:) grupa pliku zostanie zmieniona na grupę logowania określonego użytkownika:

chown linuxize: file1

Jak zmienić grupę pliku

Aby zmienić tylko grupę pliku, użyj chown a następnie dwukropka (:) i nowej nazwy grupy (bez spacji między nimi) oraz pliku docelowego jako argumentu:

chown:GROUP FILE

Następujące polecenie zmieni grupę właścicieli pliku o nazwie file1 na www-data :

chown:www-data file1

Kolejnym poleceniem, którego można użyć do zmiany własności grupowej plików, jest chgrp .

Jak zmienić własność dowiązań symbolicznych

Gdy opcja rekurencyjna nie jest używana, chown zmienia własność grupy plików, do których prowadzą dowiązania symboliczne, a nie same dowiązania symboliczne.

Na przykład, jeśli spróbujesz zmienić właściciela i grupę dowiązania symbolicznego dowiązanie symboliczne1, które wskazuje na /var/www/file1 , chown zmieni własność pliku lub katalogu, na który wskazuje dowiązanie symboliczne:

chown www-data: symlink1

Są szanse, że zamiast zmiany docelowej własności pojawi się błąd „nie można wyrejestrować„ symlink1 ”: Odmowa dostępu”.

Błąd występuje, ponieważ domyślnie w większości dystrybucji Linuksa dowiązania symboliczne są chronione i nie można operować na plikach docelowych. Ta opcja jest określona w /proc/sys/fs/protected_symlinks . 1 oznacza włączone, a 0 wyłączone. Zalecamy, aby nie wyłączać ochrony dowiązania symbolicznego.

Aby zmienić własność grupy samego dowiązania symbolicznego, użyj opcji -h :

chown -h www-data symlink1

Jak rekurencyjnie zmienić własność pliku

Aby rekurencyjnie operować na wszystkich plikach i katalogach w danym katalogu, użyj opcji -R ( --recursive ):

chown -R USER:GROUP DIRECTORY

Poniższy przykład zmieni własność wszystkich plików i podkatalogów w katalogu /var/www na nowego właściciela i grupę o nazwie www-data :

chown -R www-data: /var/www

Jeśli katalog zawiera dowiązania symboliczne, należy przekazać opcję -h :

chown -hR www-data: /var/www

Inne opcje, których można użyć podczas rekurencyjnej zmiany własności katalogu, to -H i -L .

Jeśli argument przekazany do komendy chown jest dowiązaniem symbolicznym prowadzącym do katalogu, opcja -H spowoduje przejście komendy do niego. -L mówi chown aby przejrzał każde dowiązanie symboliczne do napotkanego katalogu. Zwykle nie powinieneś używać tych opcji, ponieważ możesz zepsuć system lub stworzyć zagrożenie bezpieczeństwa.

Korzystanie z pliku referencyjnego

Opcja --reference=ref_file pozwala zmienić własność użytkownika i grupy dla danych plików, tak aby były takie same, jak dla określonego pliku referencyjnego ( ref_file ). Jeśli plik referencyjny jest dowiązaniem symbolicznym, chown użyje użytkownika i grupy pliku docelowego.

chown --reference=REF_FILE FILE

Na przykład następujące polecenie przypisze użytkownikowi i grupie własność file1 do file2

chown --reference=file1 file2

Wniosek

chown to narzędzie wiersza polecenia systemu Linux / UNIX do zmiany właściciela pliku i / lub własności grupy.

Aby dowiedzieć się więcej o chown odwiedź stronę man chown lub wpisz man chown w swoim terminalu.

terminal chown