Android

Команда Chgrp в Linux (сменить группу)

HUGE EGGS Surprise Toys Challenge with Inflatable water slide

HUGE EGGS Surprise Toys Challenge with Inflatable water slide

Оглавление:

Anonim

В Linux каждый файл связан с владельцем и группой и имеет разрешения, которые определяют, какие пользователи могут читать, записывать или выполнять файл.

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

Это руководство объясняет, как использовать chgrp .

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

Команда chgrp принимает следующую форму:

chgrp GROUP FILE..

  • GROUP , название новой группы или идентификатор группы (GID). Числовой GID должен начинаться с символа + . FILE.. , имя одного или нескольких файлов.

В отличие от команды chown которая позволяет вам изменять владельца группы и пользователя, chgrp меняет только владельца группы.

Чтобы узнать, к какой группе принадлежит файл, используйте команду ls -l .

Только пользователь root или пользователь с правами sudo может изменить групповое владение файлом.

Как изменить владельца группы файлов

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

Например, чтобы изменить группу имени файла в файле www-data вы должны выполнить:

chgrp www-data filename

Вы также можете передать несколько файлов в качестве аргументов в команду 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

Скорее всего, вместо того, чтобы изменить целевую группу, вы получите сообщение об ошибке «невозможно разыменовать 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 в своем терминале.

терминал chgrp