Często podczas korzystania z Linuksa użytkownicy rzadko myślą o tym, kto jest właścicielem pliku. Kiedy jednak przychodzi do uruchomienia serwera, sytuacja się zmienia. Aby zwiększyć bezpieczeństwo, serwer otrzymuje własnego użytkownika. Nierzadko zdarza się, że serwery korzystają z tej samej grupy, np. www-data. Następnie zobaczmy, jak ta funkcja działa z plikami i katalogami. Zwrócimy szczególną uwagę na dowiązania symboliczne, ponieważ mogą one powodować problemy podczas korzystania z niezabezpieczonych ustawień.
Standard uprawnień do plików przyszedł do Linuksa z Uniksa. Tak więc każdy obiekt posiada użytkownika, grupę, a oprócz tego opisuje uprawnieniainnych użytkowników(other). Uprawnienia składają się z trzech elementów: odczyt, zapis, wykonanie. Polecenie umask jest używane do zmiany uprawnień, ale polecenia chown są używane do bezpośredniej zmiany właściciela i grupy. Polecenie ls może być używane do przeglądania bieżących uprawnień.
Ogólny widok polecenia chgrp:
$ chgrp [options] new_group file_name
Lista typowych opcji dla polecenia chgrp:
-h - praca bezpośrednio z samymi dowiązaniami symbolicznymi;--dereference - praca z plikami, a nie samymi dowiązaniami symbolicznymi. Używane domyślnie;-R - rekurencyjne przetwarzanie katalogu z całą jego zawartością;-H - podąża za dowiązaniem symbolicznym i zmienia atrybuty pliku/katalogu. Używane w połączeniu z parametrem -R;-L - podąża za dowiązaniem symbolicznym i kontynuuje przetwarzanie rekurencyjne. Używane w połączeniu z parametrem -R;-P - po napotkaniu dowiązania symbolicznego przetwarza tylko je. Używane razem z parametrem -R, jest wartością domyślną;--reference=nazwa_pliku - użyj przykładowej grupy;-c - wyjście zmienia się tylko podczas przetwarzania;-v - wypisuje informacje o każdym przetworzonym obiekcie.Najprostszy przykład użycia polecenia chgrp. Poniższy zmienia cały obiekt www-data dla pliku w bieżącym folderze:
$ sudo chgrp www-data file.txt
A ten zmienia grupę na www-data dla folderu folder:
$ sudo chgrp www-data folder

Polecenie działa w bardzo przewidywalny sposób, zmieniając ich grupę. Obiekty w folderze pozostają niezmienione. Jeśli obsługiwane są dowiązania symboliczne, ich atrybuty pozostają niezmienione, ale obiekt otrzymuje nową grupę. To zachowanie jest podobne do obsługi parametru --dereference.
Na przykład te polecenia zastosowane do dowiązań symbolicznych będą działać tak, jak pokazano na zrzucie ekranu:
$ sudo chgrp www-data sym_file.txt

Przyjrzyjmy się, jak działałby parametr -h zmieniający atrybuty dowiązania symbolicznego:
$ sudo chgrp -h www-data sym_file

Grupa została ustawiona nie tylko dla katalogu, ale także dla wszystkich plików w nim zawartych. Zauważ, że zachowanie uległo zmianie, teraz podczas przetwarzania dowiązania symbolicznego atrybuty są ustawiane dla samego dowiązania, a nie obiektu.
Aby zobaczyć różnicę między parametrami -H i -L, przyjrzyjmy się jeszcze kilku przykładom. Przypomnijmy, że muszą one być używane razem z -R:
$ sudo chgrp -RH www-data folder

Przy użyciu -H zachowanie podczas przetwarzania dowiązań symbolicznych uległo zmianie, są one teraz obsługiwane tak, jakby funkcje były wykonywane osobno. Atrybuty odwołań nie zmieniają się, atrybuty samych obiektów tak, a przetwarzanie rekurencyjne zatrzymuje się po przełączeniu do katalogu.
$ sudo chgrp -RL www-data folder

Wykonuje jedną funkcję - zmienia grupę plików i katalogów.

Podczas przetwarzania dowiązań symbolicznych należy zachować szczególną ostrożność, aby nie uszkodzić systemu.