Команда Linux chgrp

Linux 命令大全Энциклопедия команд Linux


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

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

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


Синтаксис

chgrp [-cfhRv][--help][--version][所属群组][文件或目录...]
или 
chgrp [-cfhRv][--help][--reference=<参考文件或目录>][--version][文件或目录...]

Описание параметра

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

Параметр Описание
-c или --changes Аналогично параметру "-v", но сообщает только об изменённых частях. Подходит для использования, когда нужно убедиться, какие файлы были фактически изменены.
-f или --quiet или --silent Не отображает сообщения об ошибках. Используется, когда скрипты должны выполняться без вывода, чтобы большое количество сообщений об ошибках не мешало результатам.
-h или --no-dereference Изменяет только сам файл символической ссылки, не изменяя никакие другие связанные файлы. Должен использоваться при изменении группы самой символической ссылки.
-R или --recursive Рекурсивно обрабатывает все файлы и подкаталоги в указанном каталоге вместе. Используется для пакетного изменения всех файлов в каталоге.
-v или --verbose Отображает процесс выполнения команды. Используется для отладки или подтверждения статуса изменения каждого файла.
--help Отображает справочную информацию, перечисляя все доступные параметры.
--reference=<эталонный файл или каталог> Устанавливает группу указанного файла или каталога такой же, как у эталонного файла или каталога. Используется в сценариях массового копирования разрешений.
--version Отображает информацию о версии.

Примеры

Ниже приведены распространённые примеры команды chgrp, показывающие её использование в различных сценариях.

Изменить группу одного файла:

# 将 file.txt 的所属组设置为 developers
chgrp developers file.txt

Изменить группу нескольких файлов:

# 一次性修改多个文件的所属群组
chgrp users file1.txt file2.txt file3.txt

Рекурсивно изменить группу каталога и его содержимого:

# -R 参数会遍历整个目录树
chgrp -R www-data /var/www/html

Использовать группу эталонного файла:

# 将 target_file.txt 的组设置为与 source_file.txt 相同
chgrp --reference=source_file.txt target_file.txt

Отобразить подробную информацию о работе:

# -v 参数会报告每个文件的修改状态
chgrp -v staff document.pdf

Практические сценарии применения

Команда chgrp имеет несколько сценариев применения в реальной работе. Ниже приведены распространённые варианты использования.

Управление файлами веб-сервера

Веб-серверы должны работать от имени определённого пользователя или группы. Правильная настройка группы файлов позволяет управлять правами доступа.

Примеры

# Установите для файлов сайта группу веб-сервера
# www-data — группа по умолчанию для веб-сервера в дистрибутивах на базе Debian
chgrp -R www-data /var/www/html/

Совместная работа над проектом

В ходе командной разработки необходимо задать соответствующие права группы для каталога проекта, чтобы участники команды могли получать доступ к файлам и изменять их.

Примеры

# Установите для каталога проекта группу команды разработчиков
chgrp -R developers /home/projects/webapp/
# Также предоставьте право на запись пользователям группы
chmod -R g+w /home/projects/webapp/

Управление файлами журналов

Системные журналы требуют определённых разрешений группы, чтобы программы ведения журнала могли писать, а обычные пользователи могли только читать.

Примеры

# Установить групповые разрешения для файла журнала
# Установить группу файла журнала в syslog, чтобы демон журнала мог писать
chgrp syslog /var/log/application.log

Организация файлов резервных копий

Файлы резервных копий обычно требуют выделенной группы для управления, чтобы только администратор резервного копирования мог с ними работать.

Примеры

# Установить для файлов резервных копий группу backup
# Рекурсивно установить группу для всего каталога резервных копий
chgrp -R backup /backup/daily/

Примечания

  • Обычные пользователи могут изменить группу файла только на группу, к которой они принадлежат.

  • Будьте осторожны при использовании параметра -R и убедитесь, что целевой каталог — это именно та область, которую вы хотите изменить.

  • При изменении группы системных каталогов могут потребоваться права администратора (с использованием sudo).

  • Символическая ссылка сама по себе тоже является файлом. Использование параметра -h позволяет изменить группу символической ссылки, не изменяя целевой файл, на который она указывает.

Совет: если вы не уверены в текущей группе файла, используйте команду ls -l для проверки. В третьем столбце показан пользователь-владелец, а в четвёртом — группа-владелец.

Linux 命令大全Энциклопедия команд Linux

Другие расширения