Android

Komenda Chgrp w systemie Linux (zmiana grupy)

LinuxAdministrator #007 - Tworzenie użytkownika, zmiana hasła, uprawnienia chown, chmod, chgrp

LinuxAdministrator #007 - Tworzenie użytkownika, zmiana hasła, uprawnienia chown, chmod, chgrp

Spisu treści:

Anonim

W systemie Linux każdy plik jest powiązany z właścicielem i grupą i ma uprawnienia określające, którzy użytkownicy mogą odczytać, zapisać lub wykonać plik.

Polecenie chgrp zmienia własność grupy podanych plików.

Ten przewodnik wyjaśnia, jak korzystać z chgrp .

chgrp Składnia polecenia

Polecenie chgrp ma następującą postać:

chgrp GROUP FILE..

  • GROUP , nazwa nowej grupy lub identyfikator grupy (GID). Numeryczny GID musi być poprzedzony symbolem + . FILE.. , nazwa jednego lub więcej plików.

W przeciwieństwie do chown które umożliwia zmianę własności użytkownika i grupy, program chgrp zmienia tylko własność grupy.

Aby dowiedzieć się, do której grupy należy plik, użyj ls -l .

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

Jak zmienić własność grupy plików

Aby zmienić własność grupy pliku lub katalogu, chgrp polecenie chgrp a następnie nową nazwę grupy i plik docelowy jako argumenty.

Na przykład, aby zmienić grupę filename na www-data , uruchomiłbyś:

chgrp www-data filename

Możesz także przekazać wiele plików jako argumenty do polecenia chgrp :

chgrp www-data file1 file2 dir1

Użyj opcji -v , aby uzyskać informacje o przetwarzanych plikach:

chgrp www-data file1 file2

changed group of 'file1' from nginx to www-data group of 'file2' retained as www-data

Aby wydrukować informacje tylko o plikach, które grupa faktycznie zmienia, użyj -c zamiast -v .

Zamiast nazwy użytkownika można użyć identyfikatora grupy numerycznej (GID). Poniższy przykład zmienia własność grupy pliku na nową grupę o GID 1000:

chgrp +1000 filename

Jak zmienić własność grupy Symlinks

Gdy nie działa rekurencyjnie, domyślnym zachowaniem polecenia chgrp jest zmiana własności grupy obiektów dowiązań symbolicznych, a nie samych dowiązań symbolicznych.

Na przykład, jeśli spróbujesz zmienić grupę dowiązania symbolicznego dowiązania symbolicznego1, które wskazuje na /opt/file1 , chgrp zmieni własność pliku lub katalogu, na który wskazuje dowiązanie symboliczne:

chgrp www-data symlink1

Szanse są takie, że zamiast zmiany grupy docelowej pojawi się błąd „nie można wyrejestrować„ symlink1 ”: Odmowa zezwolenia”.

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 :

chgrp -h www-data symlink1

Jak rekurencyjnie zmienić własność grupy

Aby rekurencyjnie zmienić własność grupy dla wszystkich plików i katalogów w danym katalogu, użyj opcji -R .

Na przykład następujące polecenie zmieni własność wszystkich plików i katalogów w katalogu /var/www na grupę www-data :

chgrp -R www-data /var/www

Po określeniu opcji rekurencyjnej, chgrp nie będzie przechodził przez dowiązania symboliczne i nie wprowadzi żadnych zmian w dowiązaniach symbolicznych. Aby zmienić własność grupy dowiązań symbolicznych, przekaż opcję -h :

chgrp -hR www-data /var/www

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

Jeśli argument przekazany do polecenia chgrp jest dowiązaniem symbolicznym, opcja -H spowoduje przejście go przez polecenie. -L mówi chgrp aby przejrzał każde dowiązanie symboliczne do napotkanego katalogu. W większości przypadków nie powinieneś używać tych opcji, ponieważ możesz zepsuć system lub stworzyć zagrożenie bezpieczeństwa.

Wniosek

chgrp zmienia własność grupy plików, katalogów i dowiązań symbolicznych.

Chociaż do zmiany grupy możesz użyć bardziej popularnej komendy chown , chgrp ma prostą składnię, łatwą do zapamiętania.

Aby uzyskać więcej informacji o poleceniu chgrp , odwiedź stronę man chgrp lub wpisz man chgrp w swoim terminalu.

terminal chgrp