Команда chgrp в Linux

Опубликовано admin - вс, 05/15/2022 - 16:18

Команда chgrp (change group) используется в Linux для изменения группы, которой принадлежит файл или каталог. В отличие от команды chown, которая требует указать как имя пользователя, так и имя группы, в chgrp требуется только группа.

Команда chgrp Linux

Содержание

Синтаксис команды chgrp

$ sudo chgrp [ПАРАМЕТР]… ГРУППА ФАЙЛ…

Смена Группы у указанных Файлов.

Опции

-c, --changes
выводить диагностические сообщения по каждому файлу только при выполнении изменений
-f, --silent, --quiet
не выводить большинство сообщений об ошибках
-v, --verbose
выводить диагностические сообщения по каждому файлу
    --dereference
применять к файлу по символьной ссылке, а не к самой ссылке (по умолчанию)
-h, --no-dereference
применять к символьной ссылке, а не к самому файлу (имеет смысл только на системах, где можно изменять владельца символьной ссылки)
    --reference=ЭФАЙЛ
использовать группу ЭФайла, вместо указанного значения Группы
-R, --recursive
рекурсивно обрабатывать файлы и каталоги
-H
если аргумент командной строки является символьной ссылкой на каталог, перейти по ней (используется с опцией -R)
-L
переходить по любой встреченной символьной ссылке на каталог (используется с опцией -R)
-P
не переходить по символьным ссылкам (по умолчанию, используется с опцией -R)

Примеры использования команды chgrp

Изменение группу /u на staff

$ sudo chgrp staff /u

Изменение группы /u и вложенных файлов на staff

$ sudo chgrp -hR staff /u

Рекурсивная обработка каталога

oleg@mobile:~:$ ls -la ~/scanner
итого 16
drwxr-xr-x  2 oleg scanner  4096 мая 14 11:11 ./
drwx--x--x 72 oleg     100 12288 мая 15 14:45 ../
-rw-r--r--  1 oleg users       0 мая 14 10:58 1
-rw-r--r--  1 oleg users       0 мая 14 10:58 2
-rw-r--r--  1 oleg users       0 мая 14 10:58 3
-rw-r--r--  1 oleg users       0 мая 14 11:11 .4
-rw-r--r--  1 oleg users       0 мая 14 11:11 .5
-rw-r--r--  1 oleg users       0 мая 14 11:11 .6
oleg@mobile:~:$ sudo chgrp -R scanner ~/scanner/
oleg@mobile:~:$ ls -la ~/scanner/
итого 16
drwxr-xr-x  2 oleg scanner  4096 мая 14 11:11 ./
drwx--x--x 72 oleg     100 12288 мая 15 14:45 ../
-rw-r--r--  1 oleg scanner     0 мая 14 10:58 1
-rw-r--r--  1 oleg scanner     0 мая 14 10:58 2
-rw-r--r--  1 oleg scanner     0 мая 14 10:58 3
-rw-r--r--  1 oleg scanner     0 мая 14 11:11 .4
-rw-r--r--  1 oleg scanner     0 мая 14 11:11 .5
-rw-r--r--  1 oleg scanner     0 мая 14 11:11 .6

При применении команды chgrp с опцией -R к каталогу scanner и заданию группы scanner изменилась группа у всех файлов, включая служебные.

Установка новой группы на символические ссылки

oleg@mobile:/usr/local/bin:$ ls -l
итого 2380
-rwxr-xr-x 1 oleg users 2287395 ноя 29 19:43 composer*
-rwxr-xr-x 1 root root    43416 июл 12  2021 dmenu*
-rwxr-xr-x 1 root root      240 июл 12  2021 dmenu_path*
-rwxr-xr-x 1 root root       58 июл 12  2021 dmenu_run*
lrwxrwxrwx 1 root root       52 ноя 30 07:50 drush -> /home/oleg/.config/composer/vendor/drush/drush/drush*
-rwxr-xr-x 1 root root    61880 авг 17  2021 dwm*
lrwxrwxrwx 1 root root       23 мар 15 11:43 firefox-64 -> /opt/firefox-64/firefox*
lrwxrwxrwx 1 root root       23 апр  6 17:15 FreeShip -> /home/oleg/bin/FreeShip*
-rwxr-xr-x 1 oleg users     843 авг 27  2021 n2dissite*
-rwxr-xr-x 1 oleg users    1080 авг 27  2021 n2ensite*
-rwxr-xr-x 1 root root    17080 июл 12  2021 stest*
lrwxrwxrwx 1 root root       18 мар  1 16:58 tor -> /home/oleg/bin/tor*
oleg@mobile:/usr/local/bin:$ sudo chgrp -h wheel FreeShip
oleg@mobile:/usr/local/bin:$ ls -l
итого 2380
-rwxr-xr-x 1 oleg users 2287395 ноя 29 19:43 composer*
-rwxr-xr-x 1 root root    43416 июл 12  2021 dmenu*
-rwxr-xr-x 1 root root      240 июл 12  2021 dmenu_path*
-rwxr-xr-x 1 root root       58 июл 12  2021 dmenu_run*
lrwxrwxrwx 1 root root       52 ноя 30 07:50 drush -> /home/oleg/.config/composer/vendor/drush/drush/drush*
-rwxr-xr-x 1 root root    61880 авг 17  2021 dwm*
lrwxrwxrwx 1 root root       23 мар 15 11:43 firefox-64 -> /opt/firefox-64/firefox*
lrwxrwxrwx 1 root wheel      23 апр  6 17:15 FreeShip -> /home/oleg/bin/FreeShip*
-rwxr-xr-x 1 oleg users     843 авг 27  2021 n2dissite*
-rwxr-xr-x 1 oleg users    1080 авг 27  2021 n2ensite*
-rwxr-xr-x 1 root root    17080 июл 12  2021 stest*
lrwxrwxrwx 1 root root       18 мар  1 16:58 tor -> /home/oleg/bin/tor*

При использовании в команде chgrp опции -h группа символической ссылки FreeShip была изменена на wheel.
  
Заключение

Команда chgrp изменяет в Linux группу у файлов и каталогов.

При работе с символическими ссылками командой chgrp надо быть предельно осторожным во избежание повреждения системы. В связи с этом не следует дополнять опцию -R другими.

Использование команды chgrp для изменения группы файлов и каталогов проще и удобнее, нежели применение для этого команды chown.

Поделиться с друзьями