Komendy Linux: Zmiana właściciela i grupy pliku
Za pomocą polecenia chown możemy zmienić właściciela pliku oraz grupę, do której dany plik został przypisany. Polecenie to może definiować obie wartości jednocześnie lub zmieniać tylko jedną z nich:
właściciel - jeżeli podamy tylko właściciela, zostanie on zmieniony, natomiast grupa pozostanie niezmieniona;właściciel:grupa - zmiana za jednym razem i właściciela pliku, i przypisanej do pliku grupy;:grupa - w przypadku takiego zapisu zmieniana jest tylko grupa przypisana do pliku, a właściciel pozostaje ten sam.
Przykładowo, jeśli nie chcemy by plik do kogokolwiek należał, należy wpisać- chown nobody:nogroup [plik/katalog], gdzie nobody- oznacza brak przypisanego właściciela pliku lub katalogu (użytkownika systemu), zaś nogroup- oznacza brak przynależenia pliku lub katalogu do jakiekolwiek dostępnej grupy w systemie. Oznacza to, że stanie się niedostępny dla każdego użytkownika, nawet systemowego! Gdybyśmy chcieli zmienić właściciela pliku na innego użytkownika w systemie, wtedy należy użyć- chown user:user [plik/katalog], gdzie za "user" należałoby wstawić inną nazwę użytkownika, która jest dostępna w systemie i widnieje jako założone konto tej osoby w systemie. Istieje także możliwość zmiany właściciela pliku na superużytkownika (root), wtedy wpisujemy: chown root:root [plik/katalog], bądź chown root:security [plik/katalog], gdzie w miejscu "security" określa się grupę systemową, w tym przypadku grupy superużytkowników posiadających uprawnienia do zmiany zabezpieczeń.
Ogólna składnia tego polecenia to deklaracja właściciela i grupy oraz nazwy pliku:
[root@linux linux]# ls -l
-rwxrwxrwx 2 user user 12 lut 21 15:57 plik1
[root@linux linux]# chown nobody:nobody plik1
[root@linux linux]# ls -l
-rwxrwxrwx 2 nobody nobody 12 lut 21 15:57 plik1
Parametry komendy (chown):
-c , --changes
Jej zastosowanie pozwala wypisać informacje o plikach, dla których zmiany przebiegły pomyślnie.
[root@linux linux]# chown -c user:userplik1
właściciel "plik1" zmieniony na user:user
-f , --silent , --quiet
Parametr ten sprawia, że pomijane będą informacje o tym, iż nie można było zmienić właściciela lub grupy dla danego pliku.
-v , --verbose
Informuje nas o zmianie właściciela i grupy pliku.
-R , --recursive
Jeżeli zmieniamy grupę lub właściciela danego katalogu, to zmiana dotyczy wyłącznie tego elementu. Wszystkie inne pliki i katalogi, które są w nim zawarte, pozostają niezmienione. Aby je zmienić, używamy opcji - R, dzięki czemu rekurencyjnie modyfikowana jest także informacja dotycząca wszystkich plików i katalogów w danym elemencie.
[root@linux linux]# chown nobody:nobody kat2
[root@linux linux]# ls -l
drwxrwxr-x 3 nobody nobody 1024 lut 21 14:58 kat2
[root@linux linux]# ls -l kat2
drwxrwxr-x 2 user user kat3 1024 lut 21 14:58
[root@linux linux]# chown -R nobody:nobody kat2
[root@linux linux]# ls -l
drwxrwxr-x 3 nobody nobody 1024 lut 21 14:58 kat2
[root@linux linux]# ls -l kat2
drwxrwxr-x 2 nobody nobody kat3