Как использовать команду chgrp в Linux

Окно терминала Linux на ноутбуке

Фатмавати Ахмад Дзэнури / Shutterstock.com



chgrp команда в Linux изменяет групповое владение файлом или каталогом. Зачем использовать его вместо chown ? Иногда швейцарский армейский нож хорош, но когда вам действительно нужен скальпель, подойдет только скальпель.

Когда следует использовать chgrp

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





Ну, во-первых, это легко. Использование chown изменение только настройки владельца группы немного нелогично. Вы должны быть очень осторожны с синтаксисом. Это зависит от правильного размещения двоеточия:. Неправильно это сделаете, и вы не внесете изменений, о которых думали.

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



Это специальный инструмент для решения поставленных задач. chgrp полностью соответствует принципу проектирования Unix: делать одно и делать это хорошо. Посмотрим, что он может предложить.

Изменение группового владения файлом

Изменить групповое владение файлом очень просто. Вы должны использовать sudo с chgrp. Группы не принадлежат пользователям, поэтому решение о перемещении файла или каталога из одной группы в другую не принимается обычным пользователем. Это работа для кого-то с привилегиями root.

Реклама

Мы собираемся изменить групповое владение исходным файлом на C под названием gc.c. Мы собираемся заменить его на группу разработчиков.



Мы можем проверить текущие значения владения, используя ls с -l (длинный список) вариант.

ls -l

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

ls -l

Мы проверим внесение изменений с помощью ls -l снова.

-c

Мы видим, что владелец группы был изменен с Дэйва на Devteam.

Реклама

Чтобы сразу изменить групповое владение для набора файлов, вы можете использовать подстановочные знаки. Давайте изменим групповое владение для всех исходных файлов C в текущем каталоге. Мы будем использовать эту команду:

chgrp

Мы можем проверить, внесено ли изменение, как мы и ожидали, используя ls -l.

-d

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

Используя -R (изменяет) вариант chgrp перечислит изменения, внесенные в каждый файл. Предположим, мы допустили ошибку, нам нужно, чтобы для исходных файлов C была установлена ​​групповая принадлежность researchlab. Давайте исправим это сейчас. Мы будем использовать эту команду:

ls

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

Изменение группового владения каталогом

Так же просто изменить групповое владение каталогом. Мы можем использовать эту команду, чтобы изменить владельца группы для резервного копирования каталога.

lsРеклама

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

ls

Групповое владение каталогом было изменено на devteam.

Рекурсивный вариант

Если мы хотим изменить групповое владение файлами и каталогами, хранящимися в каталоге, мы можем использовать --reference (рекурсивный) вариант. Это вызовет ls для изменения группового владения для всех файлов и подкаталогов ниже целевого каталога.

Давайте попробуем это с резервным каталогом. Вот команда:

chgrp

Мы рассмотрим файлы в одном из вложенных подкаталогов с --dereference команда, а также проверим настройки одного из вложенных подкаталоги с помощью ls -l .

--no-dereference ls -l

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

Использование справочного файла

До сих пор мы прямо указывали

sudo chgrp devteam gc.c
название группы, которую мы хотим использовать. Мы также можем использовать
ls -l
таким образом, чтобы установить групповое владение это файл принадлежит той же группе, что и тот файл.

Реклама

Давайте установим групповое владение gc.h таким же, как gc.c.

Мы можем проверить текущие настройки gc.c и gc.h, используя

sudo chgrp devteam *.c
.

ls -l
sudo chgrp -c researchlab *.c

Нам нужно использовать параметр

sudo chgrp -c devteam ./backup
вариант. Право собственности на группу скопировано от справочный файл к другой файл. Позаботьтесь о том, чтобы файлы были правильно расположены.

ls -l -d

Мы будем использовать

sudo chgrp -R devteam ./backup
чтобы проверить, что настройки были перенесены в gc.h.

ls -l ./backup/images

Теперь файл gc.h принадлежит той же группе, что и gc.c.

Использование chgrp с символическими ссылками

Мы можем использовать

ls -l -d ./backup/images
для изменения группового владения символическими ссылками или файлом, на который указывает символическая ссылка.

Реклама

В этом примере мы создали символическая ссылка называется button_link. Это указывает на файл с именем ./backup/images/button_about.png. Чтобы изменить групповое владение файлом, мы должны использовать

ls -l gc.c
вариант. Это изменит настройки файла и оставит символическую ссылку неизменной.

Давайте проверим настройки символьной ссылки с помощью

ls -l gc.h
.

sudo chgrp --reference=gc.c gc.h

Команда для изменения файла:

ls -l gc.h

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

ls -l button_link
sudo chgrp --dereference devteam button_link

Символическая ссылка не изменилась, а для файла button_about.png была изменена принадлежность группы.

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

ls -l button_link
вариант.

Используемая команда:

ls -l ./backup/images/button_about.png
Реклама

Мы будем использовать

sudo chgrp --no-dereference devteam button_link
чтобы убедиться, что для символьной ссылки установлено новое групповое владение.

ls -l button-link

На этот раз затронутым элементом была сама символическая ссылка, а не файл, на который она указывает.

Красиво и просто

Просто хорошо. Это означает, что меньше нужно помнить и меньше путать. Это должно означать меньше ошибок.

Команды Linux
Файлы деготь · pv · Кот · такс · chmod · рукоятка · разница · sed · С участием · человек · толкать · popd · fsck · тестовый диск · seq · fd · пандок · компакт диск · $ ПУТЬ · awk · присоединиться · jq · складывать · уникальный · journalctl · хвостик · государство · ls · fstab · выбросил · меньше · chgrp · Chown · rev · Посмотрите · струны · тип · переименовать · застегивать · распаковать · устанавливать · размонтировать · установить · fdisk · mkfs · rm · rmdir · rsync · df · gpg · мы · нано · mkdir · от · пер · пластырь · конвертировать · rclone · крошить · SRM
Процессы псевдоним · экран · верхняя · Ницца · Ренис · прогресс · Strace · система · tmux · чш · история · в · партия · бесплатно · который · dmesg · usermod · пс · chroot · xargs · tty · мизинец · lsof · vmstat · тайм-аут · стена · да · убийство · спать · судо · его · время · groupadd · usermod · группы · lshw · неисправность · перезагружать · останавливаться · выключение · пароль · lscpu · crontab · Дата · bg · фг
Сети netstat · пинг · трассировка · ip · SS · кто · fail2ban · бмон · ты · Палец · nmap · ftp · завиток · wget · ВОЗ · кто я · В · iptables · ssh-keygen · ufw

СВЯЗАННЫЙ: Лучшие ноутбуки с Linux для разработчиков и энтузиастов

ПРОЧИТАЙТЕ СЛЕДУЮЩИЙ
  • & rsaquo; Папке на компьютере 40 лет: как звезда Xerox создала рабочий стол
  • & rsaquo; Киберпонедельник 2021: лучшие технические предложения
  • & rsaquo; Как найти упакованный Spotify 2021
  • & rsaquo; Функции и формулы в Microsoft Excel: в чем разница?
  • & rsaquo; Что такое защита от падений MIL-SPEC?
  • & rsaquo; 5 сайтов, которые должен добавить в закладки каждый пользователь Linux
Фотография профиля Дэйва Маккея Дэйв Маккей
Дэйв Маккей впервые использовал компьютеры, когда в моде была перфолента, и с тех пор он занимается программированием. Проработав более 30 лет в ИТ-индустрии, он теперь работает журналистом в области информационных технологий. За свою карьеру он работал программистом-фрилансером, менеджером международной группы разработчиков программного обеспечения, менеджером проекта ИТ-услуг, а в последнее время - специалистом по защите данных. Его статьи были опубликованы на сайтах howtogeek.com, cloudsavvyit.com, itenterpriser.com и opensource.com. Дэйв - евангелист Linux и сторонник открытого исходного кода.
Прочитать полную биографию

Интересные статьи