- Как вывести список групп в Linux
- Группы Linux
- Список всех групп, членом которых является пользователь
- Использование команды groups
- Используя команду id
- Список всех участников группы
- Список всех групп
- Выводы
- Группы пользователей в Linux
- Как создать новую группу в Linux
- Добавление существующей учетной записи пользователя в группу
- Изменение первичной группы пользователя
- Просмотр списка групп, для которых назначена учетная запись пользователя
- Создание нового пользователя и назначение группы в одной команде
- Добавление пользователя в несколько групп
- Просмотреть список всех групп в Linux
- Посмотреть группы пользователя в Linux
- Список групп пользователя Linux
- Просмотреть список всех групп в Linux
- Добавление пользователя в Linux
- Управление группами юзера в Linux
- Модифицирование первичной группы пользователя в Linux
- Группы пользователей в Linux: создаем группы, добавляем и удаляем из них пользователей
- Создание групп
- Создание пользователей
- Добавление пользователя в группу
- Удаление пользователя из вторичной группы
- Заключение
Как вывести список групп в Linux
В Linux группа — это совокупность пользователей. Основная цель групп — определить набор привилегий, таких как разрешение на чтение, запись или выполнение для данного ресурса, которые могут быть совместно использованы пользователями внутри группы. Пользователи могут быть добавлены в существующую группу, чтобы использовать предоставляемые ею привилегии.
В этом руководстве объясняется, как показать все группы, в которые входит пользователь. Мы также объясним, как составить список всех членов группы.
Группы Linux
Пользователь может принадлежать к двум типам групп:
Первичная группа или группа входа в систему — это группа, которая назначается файлам, создаваемым пользователем. Обычно имя основной группы совпадает с именем пользователя. Каждый пользователь должен принадлежать ровно к одной основной группе.
Вторичная или дополнительная группа — используется для предоставления определенных привилегий набору пользователей. Пользователь может быть участником нуля или нескольких вторичных групп.
Список всех групп, членом которых является пользователь
Есть несколько способов узнать, к каким группам принадлежит пользователь.
Основная группа пользователей хранится в /etc/passwd а дополнительные группы, если таковые имеются, перечислены в /etc/group .
Один из способов найти группы пользователей — перечислить содержимое этих файлов с помощью cat , less или grep . Другой более простой вариант — использовать команду, цель которой — предоставить информацию о пользователях и группах системы.
Использование команды groups
Самая запоминающаяся команда для вывода списка всех групп, членом которых является пользователь, — это команда groups . При выполнении без аргумента команда распечатает список всех групп, к которым принадлежит текущий зарегистрированный пользователь:
Первая группа — это основная группа.
Чтобы получить список всех групп, к которым принадлежит конкретный пользователь, укажите имя пользователя для команды groups в качестве аргумента:
Как и раньше, первая группа является первичной.
Используя команду id
Команда id выводит информацию об указанном пользователе и его группах. Если имя пользователя не указано, отображается информация для текущего пользователя.
Например, чтобы получить информацию о пользователе linuxize вы должны ввести:
Команда покажет идентификатор пользователя ( uid ), основную группу пользователя ( gid ) и вторичные группы ( groups ) пользователя.
Чтобы напечатать только имена вместо чисел, используйте параметр -n . Опция -g выведет только основную группу и -G все группы.
Следующая команда напечатает имена групп, членом которых является текущий пользователь:
Список всех участников группы
Чтобы getent group список всех членов группы, используйте команду getent group за которой следует имя группы.
Например, чтобы узнать членов группы с именем « developers , воспользуйтесь следующей командой:
Если группа существует, команда напечатает группу и всех ее членов:
Если нет вывода, это означает, что группа не существует.
Список всех групп
Чтобы просмотреть все группы, присутствующие в системе, просто откройте файл /etc/group . Каждая строка в этом файле представляет информацию для одной группы.
Другой вариант — использовать команду getent которая отображает записи из баз данных, настроенных в файле /etc/nsswitch.conf включая базу данных group которую мы можем использовать для запроса списка всех групп.
Чтобы получить список всех групп, введите следующую команду:
Вывод такой же, как при отображении содержимого файла /etc/group . Если вы используете LDAP для аутентификации пользователя, getent отобразит все группы как из файла /etc/group и из базы данных LDAP.
Вы также можете использовать awk или cut для печати только первого поля, содержащего имя группы:
Выводы
В этом руководстве вы узнали, как найти группы, членом которых является пользователь. Те же команды применимы для любого дистрибутива Linux, включая Ubuntu, CentOS, RHEL, Debian и Linux Mint.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
Источник
Группы пользователей в Linux
Учетные записи пользователей могут быть назначены одной или нескольким группам в Linux. Вы можете настроить права доступа к файлам и другие привилегии по группам. Например, в Ubuntu только пользователи из группы sudo могут использовать команду sudo для получения определенных привилегий.
Как создать новую группу в Linux
Если вы хотите создать новую группу в своей системе, используйте следующую команду groupadd, заменив new_group на имя группы, которую вы хотите создать. Вам также нужно будет использовать sudo с этой командой (или в дистрибутивах Linux, которые не используют sudo, вам нужно будет запустить команду su самостоятельно, чтобы получить соответствующие разрешения перед запуском команды).
Добавление существующей учетной записи пользователя в группу
Чтобы добавить существующую учетную запись пользователя в группу в вашей системе, используйте команду usermod, заменив examplegroup на имя группы, которую вы хотите добавить пользователю и exampleusername на именя пользователя, которого хотите добавить.
usermod -a -G examplegroup exampleusername
Например, чтобы добавить пользователя geek в группу sudo, используйте следующую команду:
Изменение первичной группы пользователя
Хотя учетная запись пользователя может быть частью нескольких групп, одна из групп всегда является «основной группой», а остальные являются «вторичными группами». Файлы и папки, созданные пользователем, будут соответствовать первичной группе.
Чтобы изменить основную группу, которой назначен пользователь, запустите команду usermod, заменив groupname на имя группы, которую вы хотите сделать основной и username на имя учетной записи пользователя.
Обратите внимание на -g здесь. При использовании строчной буквы g вы назначаете основную группу. Когда вы используете верхний регистр -G, как указано выше, вы назначаете новую вторичную группу.
Если вы новичок и ищете программы для Linux, рекомендуем посетить сайт по ссылке выше.
Просмотр списка групп, для которых назначена учетная запись пользователя
Чтобы просмотреть группы, к которым относится текущая учетная запись пользователя, выполните команду groups. Вы увидите список групп.
Чтобы просмотреть числовые идентификаторы, связанные с каждой группой, выполните команду id:
Для просмотра групп другого пользователя, запустите команду groups и определите имя учетной записи пользователя.
Вы также можете просмотреть числовые идентификаторы, связанные с каждой группой, запустив команду id и указав имя пользователя.
Первой группой в списке групп или группой, показанной после «gid =» в списке идентификаторов, является первичная группа. Другие группы — это вторичные группы.
Создание нового пользователя и назначение группы в одной команде
Иногда вам может понадобиться создать новую учетную запись пользователя, которая имеет доступ к определенному ресурсу или каталогу, например, новому пользователю FTP. Вы можете указать группы, которым будет назначена учетная запись пользователя, при создании учетной записи пользователя с помощью команды useradd, например:
useradd -G examplegroup exampleusername
Например, чтобы создать новую учетную запись пользователя с именем jsmith и назначить эту учетную запись группе ftp, вы должны запустить:
Конечно, вы захотите назначить пароль для этого пользователя:
Добавление пользователя в несколько групп
При назначении вторичных групп учетной записи вы можете легко назначить сразу несколько групп, разделив список запятой.
usermod -a -G group1,group2,group3 exampleusername
Например, чтобы добавить пользователя с именем geek в группы ftp, sudo и example, вы должны запустить:
Вы можете указать столько групп, сколько хотите — просто разделите их запятой.
Просмотреть список всех групп в Linux
Если вы хотите просмотреть список всех групп в вашей системе, вы можете использовать команду getent:
Этот вывод также покажет вам, какие учетные записи пользователей являются членами групп.
Источник
Посмотреть группы пользователя в Linux
Я использую Ubuntu Linux, но данная команда работает в различных дистрибутивах Linux. Поскольку в Linux все имеется файлом, то такая система позволяет регулировать доступ к любому действию в этой операторной системе с помощью установки прав доступа на файлы. Но еще при создании Linux, разработчики постигнули, что этого явно недостаточно. В операционных системах семейства Linux у пользователя имеется основная группа, а также определённое количество дополнительных групп. Это удачное, стратегически обмысленное решение. Понимание групп, к каким принадлежит пользователь в Ubuntu очень важно — т.к. дает понимание того, к каким файлам user имеет доступ. Пользователи и группы пользователей используются на GNU/Linux для управления доступом — то имеется, для управления доступом к системным файлам, каталогам и переферии. Linux предлагает относительно несложные и грубые механизмы контроля доступа по умолчанию.
Список групп пользователя Linux
Вы сможете посмотреть список групп пользователя Linux двумя основными способами. Это команда id, какую мы уже разбирали в статье о том, как узнать id пользователя Linux, и команда groups. Чтобы вывести всю данные о пользователе, используйте id:
Все группы, созданные в системе, находятся в файле /etc/group. Посмотрев содержание этого файла, вы можете узнать список групп linux, которые уже есть в вашей системе. И вы станете удивлены.
Если вы не введете имя пользователя, по умолчанию будет применено ваше имя. К примеру:
frame@ubuntuServ:$ groups
frame adm dialout cdrom floppy audio dip video plugdev lpadmin scanner admin fuse
Вы вдобавок можете проверить какие группы принадлежат другому пользователю, включая root:
frame@ubuntuServ:$ groups root
root : root fuse
Помимо стандартных root и users, здесь есть еще пару десятков групп. Это группы, сделанные программами, для управления доступом этих программ к общим ресурсам. Каждая группа позволяет чтение или запись определенного файла или каталога системы, тем самым регулируя полномочия юзера, а следовательно, и процесса, запущенного от этого пользователя. Здесь можно считать, что пользователь — это одно и то же что процесс, поэтому что у процесса все полномочия пользователя, от которого он запущен.
Просмотреть список всех групп в Linux
Когда вы хотите просмотреть список всех групп в вашей системе, вы можете использовать бригаду getent:
Этот вывод также покажет вам, какие учетные записи юзеров являются членами групп.
Добавление пользователя в Linux
Добавление пользователя осуществляется при поддержки команды useradd. Пример использоания:
sudo useradd vasyapupkin
Управление группами юзера в Linux
Управлять группами можно и с помощью графического интерфейса. В KDE есть программа Kuser умышленно предназначенная для этого, в Gnome это выполняется с помощью настроек системы. Кроме того, в известных дистрибутивах есть отдельные инструменты, такие как YaST в OpenSUSE или Настройки Ubuntu. Но с графичным интерфейсом я думаю вы разберетесь. А мы рассмотрим управление группами linux через терминал. Для начала разберемся с файлами, а уже потом с пользователями.
При создании файла ему назначается основная группа юзера который его создал. Это просто например:
Здесь вы можете видеть, что владелец всех папок sergiy и группа также sergiy. Правильно, так как эти пользователи были созданы мной. Но давайте пойдем дальше:
Модифицирование первичной группы пользователя в Linux
Хотя учетная запись пользователя может быть долею нескольких групп, одна из групп всегда является «основной группой», а остальные представляются «вторичными группами». Файлы и папки, созданные пользователем, будут соответствовать первичной команде.
Чтобы изменить основную группу, которой назначен пользователь, запустите бригаду usermod, заменив groupname на имя группы, которую вы хотите сделать основной и username на имя переписной записи пользователя.
usermod -g groupname username
Обратите внимание на -g здесь. При использовании маленькой буквы g вы назначаете основную группу. Когда вы используете верхний регистр -G, как указано реке, вы назначаете новую вторичную группу.
Как видите, всё очень просто. Вы можете дословно с помощью одной команды посмотреть группы пользователей Linux, причём не только для нынешного пользователя, а для всех, кто вас интересует. Если у вас остались вопросы, спрашивайте в комментариях!
Источник
Группы пользователей в Linux: создаем группы, добавляем и удаляем из них пользователей
Перевод статьи «Linux User Groups Explained: How to add a new group, a new group member, and change groups».
Linux позволяет многочисленным пользователям работать в системе одновременно. Установка прав доступа защищает пользователей друг от друга. Для объединения пользователей с одинаковыми правами доступа создаются группы. Члены этих групп могут, например, иметь доступ к каким-то файлам или устройствам, в то время как для остальных пользователей доступ будет закрыт.
Часто группы создаются, чтобы дать отдельным пользователям право модифицировать файл или директорию.
Группы бывают двух основных видов: первичные и вторичные. Первичная группа это основная группа пользователя, установленная для него по умолчанию, с ней связан его аккаунт. Директории и файлы, создаваемые пользователем, имеют Group ID именно этой, первичной группы. Любая другая группа (а их может быть много), в которую входит пользователь, является вторичной.
Создание групп
Давайте создадим две группы: «writers» («писатели») и «editors» («редакторы»). Для этого используется команда groupadd. (Возможно, потребуется также поставить sudo в начале команды, чтобы получить право создавать группы).
Создание пользователей
Возможно, у вас уже есть пользователи, которых вы могли бы добавить в только что созданные группы. Если нет, вот базовый синтаксис для создания пользователя при помощи команды useradd:
Ниже представлена команда для создания пользователя по имени «quincy». Флаг -m нужен для создания домашней директории пользователя (для ее названия используется имя пользователя). Флаг -p позволяет задать пароль для пользователя, в данном случае — «p4ssw0rd».
Позже пользователь сможет изменить свой пароль при помощи команды passwd. Для этого ему понадобится ввести текущий пароль и новый.
Добавление пользователя в группу
Для добавления пользователя в группу используется команда usermod. Давайте добавим пользователя «quincy» в группу «writers». Опция -a означает «append» («добавить», «прикрепить»), а опция -G служит для указания названия вторичной группы.
Когда вы создаете пользователя при помощи команды adduser, для него автоматически создается первичная группа, носящая его имя. Поэтому в настоящее время пользователь «quincy» состоит в первичной группе «quincy» и вторичной «writers».
Также можно добавить пользователя сразу в несколько групп, перечислив их через запятую без пробелов (-G group1,group2,group3).
А эта команда изменит первичную группу пользователя quincy на группу «editors»:
Удаление пользователя из вторичной группы
Чтобы удалить пользователя из вторичной группы, нужно перезаписать список групп пользователя, задав набор групп, в котором не будет этой вторичной группы.
При помощи команды id смотрим, в каких группах состоит пользователь (опция -n нужна для вывода названий групп, а не их ID).
Предположим, мы увидели, что пользователь quincy состоит в группах «editors» и «writers». Если мы хотим удалить его из группы «writers», мы можем воспользоваться следующей командой:
Эта команда очень похожа на ту, которой мы установили для пользователя quincy вторичную группу «editors». Но поскольку мы сейчас не использовали флаг -a, предыдущий список групп просто перезаписался, и теперь в нем нет группы «writers».
Заключение
Теперь вы можете начать управлять группами и пользователями. Следующий шаг — определить, какие привилегии должны быть у каждой группы.
Источник