В разрешениях на доступ Linux все файлы, включая каталоги, связаны с владельцем – группой и пользователем.
Кроме того, для файла и каталогов и обычно назначаются разрешения, которые определяют права доступа, такие как чтение, запись и выполнение, которые в конечном итоге определяют, кто имеет какие права доступа.
В этом руководстве я покажу вам, как изменить владение файлом или каталогом группы с помощью команды chgrp.
Команда Linux change group, известная как chgrp, используется для изменения имени группы, к которой принадлежит файл или каталог.
В отличие от команды chown, которая требует от вас указания как пользователя, так и имени группы, chgrp требует только группу.
Синтаксис команды chgrp
Синтаксис довольно прост.
Просто вызовите команду chgrp и после этого определите имя группы после имени объекта.
$ chgrp OPTION group_name /path/to/file or directory
Как изменить группу файла с помощью команды chgrp
В этом разделе мы рассмотрим, как изменить владение файлом группой.
Перед этим изменением с помощью команды chgrp рекомендуется сначала проверить текущую группу, к которой принадлежит файл.
Это может быть легко выполнено с помощью команды ls для вывода прав доступа к файлу, как показано ниже:
$ ls -l
Например, чтобы изменить группу файла с «Winnie» на группу «linoxide», выполните команду chgrp, как показано ниже:
$ chgrp linoxide settings.py
chgrp operation not permitted
Обойти эту проблему можно, добавив обычного пользователя в группу sudoers и вызвав команду sudo, как показано ниже:
$ sudo chgrp linoxide settings.py
Кроме того, вы можете указать несколько файлов в качестве аргументов при использовании команды chgrp следующим образом:
$ sudo chgrp group_name file_1 file_2 file_3
$ sudo chgrp linoxide settings.py file1.txt file2.txt
Смена группы владельца рекурсивно
Иногда вам может понадобиться рекурсивно изменить группу всех файлов и подкаталогов каталога.
Чтобы рекурсивно изменить имя группы, используйте флаг -R, как показано в синтаксисе ниже.
$ sudo chgrp group-name directory
Например, чтобы изменить владельца каталога /var/www/html/nextcloud и его содержимого на группу www-data, выполните команду:
$ sudo chgrp -R www-data /var/www/html/nextcloud
Изменить группа владельца символических ссылок
Использование рекурсивной опции не затрагивает символические ссылки, и, следовательно, символические ссылки сохраняют свою группу.
Чтобы применить это и к символическим ссылкам, передайте параметр -h, как показано:
$ sudo chgrp -Rh www-data /var/www/html/nextcloud
Заключение
В этом руководстве мы познакомили вас с командой chgrp на Linux.
Хотя вы можете добиться того же с помощью команды chown, команда chgrp предлагает гораздо более простой способ сделать это.
Некоторые могут спросить, зачем на chgrp, когда существует команда chown.
Код Chgrp был собран намного раньше, когда еще chown изначально не мог настроить группы.