Команда Chgrp в Linux (Изменить группу)
Команда Chgrp в Linux (Изменить группу)
Chgrp Command in Linux (Change Group)
Это руководство объясняет, как использовать chgrp

В Linux каждый файл связан с владельцем и группой и имеет разрешения, которые определяют, какие пользователи могут читать, записывать или выполнять файл.
Команда chgrp
меняет групповое владение данными файлами.
chgrp
Синтаксис команды
Команда chgrp
принимает следующую форму:
chgrp [OPTIONS] GROUP FILE..
GROUP
, название новой группы или идентификатор группы (GID). Числовой GID должен начинаться с+
символа.FILE..
, имя одного или нескольких файлов.
В отличие от chown
команды, которая позволяет изменять владельца группы и пользователя, chgrp
изменяется только принадлежность группы.
Чтобы узнать, к какой группе принадлежит файл, используйте ls -l
команду.
Только пользователь root или пользователь с правами sudo может изменить групповое владение файлом.
Как изменить владельца группы файлов
Чтобы изменить владельца группы для файла или каталога, вызовите chgrp
команду, а затем введите новое имя группы и целевой файл в качестве аргументов.
Например, чтобы изменить группу файла filename
для www-data
вас, запустите:
chgrp www-data filename
Если вы запустите команду с непривилегированным пользователем, вы получите ошибку «Операция не разрешена». Чтобы подавить ошибки, запустите команду с -f
параметром. По умолчанию в случае успеха chgrp
не выводит никаких данных и возвращает ноль.
Вы также можете передать несколько файлов в качестве аргументов chgrp
команды:
chgrp www-data file1 file2 dir1
Используйте -v
опцию, чтобы получить информацию о файлах, которые обрабатываются:
chgrp www-data file1 file2
changed group of 'file1' from nginx to www-data
group of 'file2' retained as www-data
Для печати информации только о тех файлах, которые фактически изменяет группа, используйте -c
вместо -v
.
Числовой идентификатор группы (GID) можно использовать вместо имени пользователя. В следующем примере изменяется владение группой файла новой группой с GID 1000:
chgrp +1000 filename
Как изменить владение Symlinks Group
Когда рекурсивная работа не выполняется, поведение команды по умолчанию chgrp
заключается в изменении владельца группы для целей символической ссылки , а не самих символических ссылок .
Например, если вы попытаетесь изменить группу символической ссылки, на symlink1
которую указывает ссылка /opt/file1
, chgrp
изменится владение файлом или каталогом, на который указывает символическая ссылка:
chgrp www-data symlink1
Скорее всего, вместо того, чтобы изменить целевую группу, вы получите сообщение об ошибке «cannot dereference ‘symlink1’: Permission denied».
Ошибка возникает из-за того, что по умолчанию в большинстве дистрибутивов Linux символические ссылки защищены, и вы не можете работать с целевыми файлами. Эта опция указана в /proc/sys/fs/protected_symlinks
. 1
значит включен и 0
отключен. Мы рекомендуем не отключать защиту символических ссылок.
Чтобы изменить групповое владение самой символической ссылкой, используйте -h
параметр:
chgrp -h www-data symlink1
Как рекурсивно изменить владение группой
Чтобы рекурсивно изменить групповое владение всеми файлами и каталогами в данном каталоге, используйте -R
параметр.
Например, следующая команда изменит владельца всех файлов и каталогов в /var/www
каталоге на www-data
группу:
chgrp -R www-data /var/www
Если указан рекурсивный параметр, chgrp
он не будет проходить по символическим ссылкам и не будет вносить изменений в символические ссылки. Чтобы изменить групповое владение символическими ссылками, передайте -h
параметр:
chgrp -hR www-data /var/www
Другими параметрами, которые можно использовать при рекурсивном изменении владельца группы, являются -H
и -L
.
Если аргумент, переданный chgrp
команде, является символической ссылкой, эта -H
опция заставит команду пройти ее. -L
говорит, что chgrp
нужно пройти по каждой символической ссылке в каталог, который встречается. В большинстве случаев вам не следует использовать эти параметры, поскольку вы можете испортить вашу систему или создать угрозу безопасности.
Вывод
chgrp
изменяет групповое владение файлами, каталогами и символическими ссылками.
Хотя вы можете использовать более популярную chown
команду для изменения группы, она chgrp
имеет простой синтаксис, который легко запомнить.
Для получения дополнительной информации о chgrp
команде посетите страницу руководства chgrp или введите man chgrp
свой терминал.