- Посмотреть группы пользователя в Linux
- Список групп пользователя Linux
- Просмотреть список всех групп в Linux
- Добавление пользователя в Linux
- Управление группами юзера в Linux
- Модифицирование первичной группы пользователя в Linux
- Группы пользователей в Linux
- Файл /etc/group
- Команда members
- Как перечислить группы в Linux
- Linux группы
- Список всех групп, членом которых является пользователь
- Используя команду groups
- Используя команду id
- Список всех членов группы
- Список всех групп
- Заключение
- Добавление пользователя в группу. Списки пользователей и групп в Linux
- Список групп, в которых состоит пользователь
- Добавление пользователя в группу
- Удаление пользователя из группы
- Список всех групп
- Список всех пользователей
- Как я могу узнать, какие пользователи входят в группу в Linux?
Посмотреть группы пользователя в 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 на этом сайте.
Это основной и очень удобный способ управления правами пользователей и процессов в этой операционной системе.
Просмотр списка пользователей группы в Linux достаточно прост, для этого существует несколько способов, и в этой статье мы рассмотрим их все.
Файл /etc/group
Все группы, созданные в Linux, собираются в файле /etc/group.
Синтаксис записи группы в этом файле выглядит следующим образом:
group_name : x : id : user_list
- group_name: имя, которое используется для управления группой и отображается на выходе команд;
- x: пароль (не хранит реальный пароль)
- id: уникальный идентификатор группы
- user_list: все пользователи, входящие в группу, разделяются запятой.
Чтобы просмотреть список членов группы (в этом примере group adm), мы можем использовать комбинацию команд cat и grep
Вывод команды показывает, что членами группы adm являются пользователи gharutyunyan и syslog.
Команда members
Следующим способом увидеть пользователей группы является команда members, в Ubuntu она есть по умолчанию.
Если ее нет в вашем дистрибутиве, вы можете установить его из официальных репозиториев командой sudo apt install members.
Источник
Как перечислить группы в Linux
В этой статье объясняется, как показать все группы, в которые входит пользователь. Мы также объясним, как составить список всех членов группы.
Linux группы
Пользователь может принадлежать к двум типам групп:
- Основная группа или группа входа – это группа, назначаемая файлам, которые создаются пользователем. Обычно имя основной группы совпадает с именем пользователя. Каждый пользователь должен принадлежать ровно к одной основной группе.
- Вторичная или дополнительная группа – используется для предоставления определенных привилегий группе пользователей. Пользователь может быть членом нуля или более вторичных групп.
Список всех групп, членом которых является пользователь
Есть несколько способов узнать группы, к которым принадлежит пользователь.
Основная группа пользователей хранится в файле /etc/passwd, а дополнительные группы, если таковые имеются, перечислены в файле /etc/group.
Один из способов найти группы пользователей – просмотреть содержимое этих файлов, используя cat, less или grep. Другой более простой вариант – использовать команду, цель которой – предоставить информацию о пользователях и группах системы.
Используя команду groups
Самая запоминающаяся команда для перечисления всех групп, в которые входит пользователь, это команда groups. При выполнении без аргумента команда выведет список всех групп, к которым принадлежит текущий зарегистрированный пользователь:
Первая группа является основной группой.
Чтобы получить список всех групп, к которым принадлежит конкретный пользователь, укажите в groups в качестве аргумента имя пользователя для команды:
Как и прежде, первая группа является основной.
Используя команду id
Команда id печатает информацию об указанном пользователе и его группах. Если имя пользователя не указано, отображается информация о текущем пользователе.
Например, чтобы получить информацию о пользователе, andreyex, вы должны набрать:
Команда покажет имя пользователя (uid), первичную группу пользователя (gid) и вторичные группы пользователя (groups)
Для печати только имен без идентификаторов пользователя и группы используйте опцию -n. Опция -g будет печатать только основную группу и -G все группы.
Следующая команда напечатает имена групп, в которые входит текущий пользователь:
Список всех членов группы
Чтобы вывести список всех членов группы, используйте команду 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.
Не стесняйтесь оставлять комментарии, если у вас есть какие-либо вопросы.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Добавление пользователя в группу. Списки пользователей и групп в Linux
В данной заметке рассматривается как добавить пользователя в группу и как удалить из группы, вывод списка групп, в которых состоит пользователь, а также вывод всех пользователей и всех групп в системе Linux.
Список групп, в которых состоит пользователь
Для вывода списка групп, в которых состоит конкретный пользователь используется команда groups.
При выполнении команды groups без аргументов, выводится список групп текущего пользователя.
Можно указать имя пользователя, для которого нужно вывести список групп, в которых он состоит. Например, выведем группы, в которых состоит пользователь root.
Добавление пользователя в группу
Чтобы в Linux добавить существующего пользователя в группу используется команда usermod с ключами -a и -G группа . Например, добавим пользователя pingvinus в группу editorsgroup.
После выполнения данной команды пользователю pingvinus необходимо выйти и снова войти в систему. Можно воспользоваться командой su, чтобы войти от имени пользователя pingvinus в текущем сеансе.
Удаление пользователя из группы
Удалим пользователя pingvinus из группы editorsgroup.
Чтобы изменения вступили в силу, нужно выйти и войти в систему.
Список всех групп
Выведем список всех групп в текущей системе Linux.
Список всех пользователей
Выведем список всех пользователей в текущей системе Linux.
Обычно список довольно большой, так как содержит всех пользователей, включая пользователей, которые используются для запуска некоторых программ и служб.
Можно ограничить вывод только теми пользователями, для которых домашняя директория расположена в директории /home.
Источник
Как я могу узнать, какие пользователи входят в группу в Linux?
Недавно я создавал новых пользователей и назначал их определенным группам. Мне было интересно, если есть команда, которая показывает всех пользователей, назначенных для определенной группы? Я пытался использовать команду «groups», однако всякий раз, когда я использую это, он говорит «groups: not found»
Вы можете использовать grep:
В этом списке перечислены только дополнительные группы, а не пользователь, у которого эта группа является основной. И он находит только локальные группы, а не группы из сетевой службы, такой как LDAP.
Я предпочитаю использовать команду getent .
Поскольку getent использует ту же службу имен, что и система, getent отображает всю информацию, включая информацию, полученную из сетевых источников информации, таких как LDAP.
Таким образом, для группы, вы должны использовать следующее .
где name_of_group заменяется группой, которую вы хотите найти. Обратите внимание, что это возвращает только дополнительные членства в группах, но не включает пользователей, у которых эта группа является основной.
Есть много других поисков, которые вы можете сделать . passwd будучи еще одним полезным, который вам нужно будет перечислить основные группы.
Проще сделать groups [username]
Если вы хотите перечислить всех локальных пользователей и их локальные группы, вы можете сделать
cat /etc/passwd | awk -F’:’ ‘< print $1>‘ | xargs -n1 groups
Если вы получаете «groups: command not found», скорее всего, вы изменили свой путь к среде для худшего, чтобы сбросить путь PATH=$(getconf PATH)
перечисляет всех пользователей в указанной группе.
Я удивлен, что никто не упомянул
Эта команда выдаст список групп, в которых находится пользователь.
groups Команда печатает членство в группах для пользователя. Вы можете использовать lid команду для вывода списка пользователей в группу, например:
ОП сформулировал вопрос, чтобы исключить возможность использования команды groups . Так как это часть coreutils в Linux, либо (а) он был удален, либо (б) OP неправильно набирает имя.
OP мог бы использовать groups так, например:
Один предложенный ответ просто grep для названия группы в /etc/group . Иногда это работает как задумано.
Немного лучшее использование grep учитывает синтаксис /etc/group :
так что только часть перед первым двоеточием является допустимым именем группы. Простой grep без учета синтаксиса может (и будет) забирать вводящие в заблуждение совпадения из файла. Используйте регулярные выражения, чтобы grep соответствовал именно тому, что нужно:
или используя переменную оболочки:
Однако, это только список тех, кто не входит в группу по умолчанию . Чтобы добавить их , необходимо принять во внимание файл паролей, например, путем извлечения номера идентификатора группы из /etc/group и печати пользователей, чья группа по умолчанию соответствует /etc/passwd , например, из
Вы можете сделать то же самое, используя только grep и sed, но это больше, чем использование awk.
Другой предложенный ответ, предложенный с использованием getent , который также, вероятно, будет на Linux-машине (с Debian он является частью GNU libc). Однако быстрая проверка показывает, что он предоставляет только /etc/group контент.
У меня (как и у большинства) нет libusers или не lid установлено, поэтому я не могу комментировать, удовлетворяет ли он условиям ОП.
Также есть id программа, которая дает групповую информацию. Кто-то может расширить это как возможный ответ.
Источник