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