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