Linux изменить название группы

Обновлено: 03.07.2024

Учетные записи пользователей системы могут объединяться в рамках групп . Концепция групп пользователей позволяет устанавливать права доступа на уровне групп пользователей вместо установки аналогичных прав доступа для каждого отдельного пользователя.

В каждом дистрибутиве Unix или Linux имеется инструмент с графическим интерфейсом для управления группами пользователей. Пользователям, не имеющим опыта работы с данными системами, рекомендуется использовать именно эти инструменты. Более опытные пользователи могут использовать инструменты с интерфейсом командной строки для управления учетными записями пользователей, проявляя при этом осторожность: некоторые дистрибутивы не позволяют работать одновременно с инструментами для управления группами пользователей с графическим интерфейсом и интерфейсом командной строки (примером может служить инструмент YaST из состава дистрибутива Novell Suse). Опытные системные администраторы могут осуществлять непосредственное редактирование соответствующих файлов с помощью текстового редактора vi или утилиты vigr .

Утилита groupadd

Группы пользователей могут создаваться с помощью утилиты groupadd . В примере ниже показана методика создания пяти групп (без добавления в них пользователей).

Файл group

Пользователи могут состоять в нескольких группах. Членство пользователей в группах описывается в файле /etc/group .

Первым полем в строке с описанием группы пользователей является имя группы. Во втором поле размещается (зашифрованный) пароль группы (это поле может быть пустым). В третьем поле размещается идентификатор группы или значение GID . Четвертое поле является списком членов группы, который в данном случае является пустым, так как в группах нет пользователей.

Команда groups

Пользователь может выполнить команду groups для ознакомления со списком групп, в которых он состоит.

Утилита usermod

Членство пользователя в группах может быть изменено с помощью утилиты useradd или usermod .

Проявляйте осторожность при использовании утилиты usermod для добавления пользователей в группы. По умолчанию утилита usermod будет удалять пользователя из всех групп, в которых он состоял, если имена данных групп не были переданы в составе команды! Использование параметра -a (append - дополнение) позволяет избежать данного поведения.

Утилита groupmod

Вы можете изменить имя группы пользователей с помощью утилиты groupmod .

Утилита groupdel

Вы можете навсегда удалить группу пользователей с помощью утилиты groupdel .

Утилита gpasswd

Также вы можете делегировать функции контроля над членством в определенной группе пользователей другому пользователю с помощью утилиты gpasswd . В примере ниже мы делегируем права на добавление пользователей в группу sports и удаление их из нее пользователю serena. После этого мы используем команду su для добавления пользователя harry в группу sports от лица пользователя serena. Администраторы групп пользователей не обязаны быть членами этих групп. Они могут удалить свои учетные записи из администрируемых ими групп пользователей и это никак не повлияет на их возможности добавления пользователей в эти группы или удаления пользователей из них. Информация об администраторах групп пользователей хранится в файле /etc/gshadow . Для удаления всех учетных записей администраторов из группы пользователей следует использовать утилиту gpasswd с параметрами для задания пустого списка администраторов.

Утилита newgrp

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

Утилита vigr

По аналогии с утилитой vipw, утилита vigr может использоваться для редактирования файла /etc/group в ручном режиме, так как она осуществляет корректную блокировку этого файла в процессе редактирования. Текстовый редактор vi или утилита vigr может использоваться для управления группами пользователей исключительно опытными системными администраторами.

Практическое задание: группы пользователей

1. Создайте группы пользователей tennis, football и sports.

2. С помощью одной команды сделайте пользователя venus членом групп tennis и sports.

3. Переименуйте группу пользователей fotball в foot.

4. Используйте текстовый редактор vi для добавления пользователя serena в группу пользователей tennis.

5. Используйте команду id для того, чтобы убедиться, что пользователь serena состоит в группе пользователей tennis.

6. Сделайте кого-либо из пользователей ответственным за управление членством пользователей в группах foot и sports. Проверьте работоспособность использованного механизма.

Корректная процедура выполнения практического задания: группы пользователей

1. Создайте группы пользователей tennis, football и sports.

2. С помощью одной команды сделайте пользователя venus членом групп tennis и sports.

3. Переименуйте группу пользователей fotball в foot.

4. Используйте текстовый редактор vi для добавления пользователя serena в группу пользователей tennis.

5. Используйте команду id для того, чтобы убедиться, что пользователь serena состоит в группе пользователей tennis.

6. Сделайте кого-либо из пользователей ответственным за управление членством пользователей в группах foot и sports. Проверьте работоспособность использованного механизма.

Linux - начинающим. Часть 6. Управление пользователями и группами. Практика

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

Создание пользователей

Для создания пользователей используется команда useradd, но не будем спешить с ее применением, сначала ознакомимся с используемыми по умолчанию параметрами, для этого выполните:

linux-user-and-group-management-2-001.jpg

Здесь мы можем увидеть место размещения домашних каталогов, оболочку по умолчанию и каталог с шаблоном домашней директории /etc/skel. Эта директория будет полностью скопирована в директорию нового пользователя и содержит базовые настройки окружения пользователя. Вы можете воспользоваться этим, если вам нужно формировать определенную структуру домашних каталогов или применять какие-либо специфичные настройки. При этом не рекомендуется вносить изменения в оригинальный /etc/skel, рекомендуется сделать его копию (можно и не одну) в которую внести все необходимые изменения.

Также обратите внимание на параметр:

Но как нам известно в Debian пользовательские группы начинаются с 1000, а в RHEL c 500, поэтому в современных системах этот параметр игнорируется. Все параметры, кроме SKEL, могут быть изменены, но практический смысл это имеет только для HOME и SHELL.

Скажем вы настраиваете многопользовательский веб-сервер и хотите создавать домашние директории в каталоге веб-сервера, в этом случае можно выполнить:

А для изменения командной оболочки:

Чтобы добавить нового пользователя введите:

Ключ -m предписывает создать домашний каталог пользователя. Это самый простой вариант использования, но при использовании дополнительных ключей мы можем сразу задать или переопределить многие параметры пользователя. Получить их список можно командой:

Приведем некоторые из них:

  • -b - задает домашний каталог пользователя
  • -c - комментарий к учетной записи
  • -g - задает основную группу пользователя
  • -G - задает дополнительные группы
  • -m - создать домашний каталог пользователя
  • -N - не создавать группу с именем пользователя
  • -k - путь к каталогу шаблона домашней директории (по умолчанию /etc/skel)
  • -s - командная оболочка

Этой командой мы создадим пользователя ivanov, которому назначим домашнюю директорию в /var/www/ivanov, для которой будет использован шаблон из /etc/myskel, включим его в основную группу webuser и дополнительную www-data. Также запретим ему интерактивный вход в систему, назначив оболочкой /sbin/nologin.

Созданная учетная запись будет заблокирована до тех пор, пока мы не установим для нее пароль, это можно сделать следующей командой:

которая установит пароль к учетной записи ivan. Для блокировки пароля используйте:

Но учтите, что данная блокировка распространяется только на вход по паролю, если у пользователя настроены иные способы входа, скажем по SSH-ключу, то доступ в систему с их помощью сохранится. Поэтому данный способ следует использовать в тех случаях, когда есть подозрение на компрометацию пароля, но в полной блокировке учетной записи нет необходимости. Для разблокировки потребуется заново установить пароль.

Изменение пользователей

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

Приведем некоторые из них:

  • -c - изменить комментарий
  • -d - новый домашний каталог
  • -g - новая основная группа
  • -G - новые дополнительные группы
  • -a - добавить пользователя в дополнительные группы, не удаляя из других групп, используется совместно с ключом -G
  • -l - новое имя учетной записи
  • -L - блокировать учетную запись
  • -m - переместить содержимое домашнего каталога, используется только вместе с -d
  • -U - разблокировать учетную запись

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

Удаление пользователей

Для удаления учетной записи пользователя используется команда userdel, например:

которая удалит учетную запись vasya.

Команда имеет дополнительные ключи, которые также можно просмотреть, запустив ее с ключом -h, практическую пользу представляют два из них:

  • -r - удалить домашний каталог пользователя
  • -f - удалять файлы, даже если они не принадлежат пользователю

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

Управление группами пользователей

Для управления группами используется аналогичный набор команд: groupadd, groupmod и groupdel. Их ключи также можно посмотреть, запустив их с параметром -h.

Для создания группы используйте:

Из дополнительных ключей имеют практический смысл:

  • -g - использовать указанный GUID
  • -f - завершить команду без ошибки если группа с таким именем уже существует и отменить действие -g, если указанный GUID уже используется.

При помощи команды usermod мы можем изменить GUID и наименование группы, скажем:

Данная команда переименует группу office в группу sales. Используемые ключи:

  • -g - изменить GUID группы
  • -n - изменить наименование группы

Ну и наконец groupdel, который используется для удаления групп:

Из параметров можно использовать:

  • -f - удалить группу, даже если она является основной для пользователя

При удалении групп всегда нужно проявлять осмотрительность и не следует удалять группы, в которых состоят пользователи. Если же такая необходимость существует, то следует предварительно вывести из группы пользователей и изменить группу для всех объектов, которыми владела удаляемая группа.

Управление членством пользователей в группах

Управлять членством пользователей в группах можно различным образом. Выше мы уже приводили примеры с использованием usermod, для изменения основной группы пользователя используйте:

Данная команда изменит основную группу пользователя ivan на office. Для добавления в дополнительные группы следует выполнить команду:

Которая добавит пользователя ivan в группы office и sales.

Также существует и другая команда gpasswd, которая позволяет не только добавлять, но и удалять членство пользователей в группах. Для добавления пользователя в группу используйте:

Данная команда добавить пользователя ivan в группу office. Для удаления членства выполните:

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

где ivan - имя пользователя.

Чтобы быстро удалить пользователя из всех дополнительных групп используйте:

linux-user-and-group-management-2-002.jpg

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

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

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

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

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

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

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

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

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

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

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

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

Вы также можете передать несколько файлов в качестве аргументов команде chgrp :

Используйте опцию -v чтобы получить информацию об обрабатываемых файлах:

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

Вместо имени пользователя можно использовать числовой идентификатор группы (GID). В следующем примере группа, принадлежащая файлу, изменяется на новую группу с GID 1000:

Как изменить принадлежность группы символических ссылок

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

Например, если вы попытаетесь изменить группу символической ссылки symlink1 которая указывает на /opt/file1 , chgrp изменит владельца файла или каталога, на который указывает символическая ссылка:

Скорее всего, вместо изменения целевой группы вы получите ошибку «невозможно разыменовать символическую ссылку1»: в разрешении отказано ».

Ошибка возникает из-за того, что по умолчанию в большинстве дистрибутивов Linux символические ссылки защищены, и вы не можете работать с целевыми файлами. Этот параметр указан в /proc/sys/fs/protected_symlinks . 1 означает включен, а 0 отключен. Мы рекомендуем не отключать защиту символических ссылок.

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

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

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

Например, следующая команда изменит владельца всех файлов и каталогов в каталоге /var/www на группу www-data :

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

Если аргумент, переданный команде chgrp является символической ссылкой, опция -H заставит команду пройти по ней. -L указывает chgrp по каждой символической ссылке в обнаруженный каталог. В большинстве случаев вам не следует использовать эти параметры, потому что вы можете испортить свою систему или создать угрозу безопасности.

Выводы

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

Хотя вы можете использовать более популярную команду chown для изменения группы, chgrp имеет простой синтаксис, который легко запомнить.

Для получения дополнительной информации о команде chgrp посетите страницу руководства chgrp или введите man chgrp в своем терминале.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

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

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

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

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

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

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


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

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

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

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

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

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


Если вы запустите команду с непривилегированным пользователем, вы получите ошибку «Операция не разрешена». Чтобы подавить ошибки, запустите команду с -f параметром. По умолчанию в случае успеха chgrp не выводит никаких данных и возвращает ноль.

Вы также можете передать несколько файлов в качестве аргументов chgrp команды:


Используйте -v опцию, чтобы получить информацию о файлах, которые обрабатываются:


Для печати информации только о тех файлах, которые фактически изменяет группа, используйте -c вместо -v .

Числовой идентификатор группы (GID) можно использовать вместо имени пользователя. В следующем примере изменяется владение группой файла новой группой с GID 1000:


Как изменить владение Symlinks Group

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

Например, если вы попытаетесь изменить группу символической ссылки, на symlink1 которую указывает ссылка /opt/file1 , chgrp изменится владение файлом или каталогом, на который указывает символическая ссылка:

Ошибка возникает из-за того, что по умолчанию в большинстве дистрибутивов Linux символические ссылки защищены, и вы не можете работать с целевыми файлами. Эта опция указана в /proc/sys/fs/protected_symlinks . 1 значит включен и 0 отключен. Мы рекомендуем не отключать защиту символических ссылок.

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

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

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

Например, следующая команда изменит владельца всех файлов и каталогов в /var/www каталоге на www-data группу:

Если указан рекурсивный параметр, chgrp он не будет проходить по символическим ссылкам и не будет вносить изменений в символические ссылки. Чтобы изменить групповое владение символическими ссылками, передайте -h параметр:


Другими параметрами, которые можно использовать при рекурсивном изменении владельца группы, являются -H и -L .

Если аргумент, переданный chgrp команде, является символической ссылкой, эта -H опция заставит команду пройти ее. -L говорит, что chgrp нужно пройти по каждой символической ссылке в каталог, который встречается. В большинстве случаев вам не следует использовать эти параметры, поскольку вы можете испортить вашу систему или создать угрозу безопасности.

Вывод

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

Хотя вы можете использовать более популярную chown команду для изменения группы, она chgrp имеет простой синтаксис, который легко запомнить.

Для получения дополнительной информации о chgrp команде посетите страницу руководства chgrp или введите man chgrp свой терминал.

Читайте также: