Как посмотреть группу пользователя 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 на имя переписной записи пользователя.
Как видите, всё очень просто. Вы можете дословно с помощью одной команды посмотреть группы пользователей Linux, причём не только для нынешного пользователя, а для всех, кто вас интересует. Если у вас остались вопросы, спрашивайте в комментариях!
Как вывести список групп в Linux
В Linux группа — это совокупность пользователей. Основная цель групп — определить набор привилегий, таких как разрешение на чтение, запись или выполнение для данного ресурса, которые могут быть совместно использованы пользователями внутри группы. Пользователи могут быть добавлены в существующую группу, чтобы использовать предоставляемые ею привилегии.
В этом руководстве объясняется, как показать все группы, в которые входит пользователь. Мы также объясним, как составить список всех членов группы.
Группы Linux
Пользователь может принадлежать к двум типам групп:
Первичная группа или группа входа в систему — это группа, которая назначается файлам, создаваемым пользователем. Обычно имя основной группы совпадает с именем пользователя. Каждый пользователь должен принадлежать ровно к одной основной группе.
Вторичная или дополнительная группа — используется для предоставления определенных привилегий набору пользователей. Пользователь может быть участником нуля или нескольких вторичных групп.
Список всех групп, членом которых является пользователь
Есть несколько способов узнать, к каким группам принадлежит пользователь.
Использование команды groups
Первая группа — это основная группа.
Чтобы получить список всех групп, к которым принадлежит конкретный пользователь, укажите имя пользователя для команды groups в качестве аргумента:
Как и раньше, первая группа является первичной.
Используя команду id
Команда id выводит информацию об указанном пользователе и его группах. Если имя пользователя не указано, отображается информация для текущего пользователя.
Например, чтобы получить информацию о пользователе linuxize вы должны ввести:
Команда покажет идентификатор пользователя ( uid ), основную группу пользователя ( gid ) и вторичные группы ( groups ) пользователя.
Следующая команда напечатает имена групп, членом которых является текущий пользователь:
Список всех участников группы
Чтобы getent group список всех членов группы, используйте команду getent group за которой следует имя группы.
Если группа существует, команда напечатает группу и всех ее членов:
Если нет вывода, это означает, что группа не существует.
Список всех групп
Другой вариант — использовать команду getent которая отображает записи из баз данных, настроенных в файле /etc/nsswitch.conf включая базу данных group которую мы можем использовать для запроса списка всех групп.
Чтобы получить список всех групп, введите следующую команду:
Вы также можете использовать awk или cut для печати только первого поля, содержащего имя группы:
Выводы
В этом руководстве вы узнали, как найти группы, членом которых является пользователь. Те же команды применимы для любого дистрибутива Linux, включая Ubuntu, CentOS, RHEL, Debian и Linux Mint.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
Список групп пользователя Linux
В операционных системах семейства Linux у пользователя есть основная группа, а также определённое количество дополнительных групп. Это удачное, стратегически продуманное решение. С помощью этих групп можно давать пользователю доступ к нужным файлам в системе, не давая ему прав владельца этими файлами и не открывая для них общий доступ.
Более подробно про использование групп читайте в статье группы в Linux, а в этой заметке мы поговорим о том, как посмотреть список групп пользователя Linux.
Список групп пользователя Linux
Вы можете посмотреть список групп пользователя Linux двумя основными способами. Это команда id, которую мы уже разбирали в статье о том, как узнать id пользователя Linux, и команда groups. Чтобы вывести всю информацию о пользователе, используйте id:
Чтобы вывести только список групп текущего пользователя, необходимо использовать опцию -G:
Команда выводит идентификаторы групп, если вы хотите получить их имена, то необходимо добавить опцию -n:
Если надо узнать список групп для определённого пользователя, просто передайте его имя в качестве параметра:
И точно также можно узнать группу пользователя Linux, передав его имя команде:
Ещё можно посчитать количество групп, в которых состоит пользователь Linux:
Выводы
Как видите, всё очень просто. Вы можете буквально с помощью одной команды посмотреть группы пользователей Linux, причём не только для текущего пользователя, а для всех, кто вас интересует. Если у вас остались вопросы, спрашивайте в комментариях!
Как составить список групп в Linux
How to List Groups in Linux
В этом руководстве объясняется, как показать все группы, в которые входит пользователь. Мы также объясним, как составить список всех членов группы.
Linux группы
Пользователь может принадлежать к двум типам групп:
Список всех групп, членом которых является пользователь
Есть несколько способов узнать группы, к которым принадлежит пользователь.
Основная группа пользователей хранится в /etc/passwd файле, а дополнительные группы, если таковые имеются, перечислены в /etc/group файле.
С использованием groups команду
Первая группа является основной группой.
Чтобы получить список всех групп, к которым принадлежит конкретный пользователь, укажите в groups качестве аргумента имя пользователя для команды:
Как и прежде, первая группа является основной.
С использованием id команду
id выводит информацию об указанном пользователе и его группах. Если имя пользователя не указано, отображается информация о текущем пользователе.
Команда покажет идентификатор пользователя ( uid ), первичную группу пользователя ( gid ) и вторичные группы пользователя ( groups )
Следующая команда напечатает имена групп, членом которых является текущий пользователь:
Список всех членов группы
Чтобы вывести список всех членов группы, используйте getent group команду, за которой следует имя группы.
Например, чтобы узнать членов группы с именем, developers вы бы использовали следующую команду:
Если группа существует, команда напечатает группу и всех ее членов:
Если нет выходных данных, это означает, что группа не существует.
Список всех групп
Для просмотра всех групп, присутствующих в системе, просто откройте /etc/group файл. Каждая строка в этом файле представляет информацию для одной группы.
Чтобы получить список всех групп, введите следующую команду:
Вывод такой же, как при отображении содержимого /etc/group файла. Если вы используете LDAP для аутентификации пользователя, getent отобразятся все группы из /etc/group файловой базы данных и базы данных LDAP.
Вы также можете использовать awk или cut для печати только первое поле, содержащее название группы:
Вывод
В этом уроке вы узнали, как найти группы, в которые входит пользователь. Те же команды применяются для любого дистрибутива Linux, включая Ubuntu, CentOS, RHEL, Debian и Linux Mint.
Users and groups (Русский)
Механизм пользвателей и групп используется в GNU/Linux для управления доступом к файлам, каталогам и периферийным устройствам. Базовый контроль доступа в Linux прост и не предлагает большого выбора настроек. Некоторые инструменты обеспечивают расширенный набор возможностей, подробнее см. ACL, Capabilities и PAM#Configuration How-Tos.
Contents
Обзор
Под пользователем понимается любой, кто работает с компьютером. Как правило, для каждого пользователя в системе создаётся отдельный аккаунт, которому присваивается специальное имя. В качестве имени пользователя можно использовать как реальные имена, вроде Mary или Bill, так и псевдонимы — Dragonlady, Pirate и т.п. С помощью имени пользователь получает доступ к своему аккаунту и, в конечном счёте, к системе. Некоторые системные службы запускаются либо привилегированными аккаунтами, либо строго определёнными аккаунтами пользователей.
Механизм пользователей был разработан по соображениям безопасности, для ограничения доступа к различным частям системы. Суперпользователь (root) имеет полный доступ к операционной системе и её настройкам. Этот аккаунт используется только для целей системного администрирования; обычные пользователи могут временно повысить уровень своих прав командами su и sudo.
Один человек может создать несколько аккаунтов с разными именами. Некоторые специфические имена, вроде того же «root», зарезервированы и запрещены к использованию.
Пользователи часто объединятся в «группы». Добавление пользователя в определённую группу обычно даёт ему дополнительные права, связанные с этой группой.
Права и владельцы
В операционной системе UNIX были сформулированы некоторые общие идеи и принципы, которые оказали в дальнейшем сильное влияние на её архитектуру, пользовательский интерфейс, культуру и развитие. В частности, один из основополагающих принципов выражается мантрой «всё есть файл», которую часто называют определяющим пунктом UNIX в целом. Суть данного принципа заключается в создании унифицированного способа доступа к широкому диапазону ресурсов ввода/вывода: к документам, каталогам, жёстким дискам, дискам CD-ROM, модемам, клавиатурам, принтерам, мониторам, терминалам и даже межпроцессным и сетевым взаимодействиям. Цель — предоставление универсальной абстракции для каждого из этих объектов, названных отцами-оснвоателями UNIX общим термином «файл». Поскольку доступ к файлу осуществляется с помощью одного и того же API, стало возможно использовать одинаковый набор базовых команд для чтения и записи таких разнородных устройств, как диск, клавиатура, документ или сетевой интерфейс.
В GNU/Linux каждый файл принадлежит какому-то пользователю и группе. Существует три типа прав доступа — чтение, запись и исполнение. Права доступа задаются по отдельности для владельца-пользователя, владельца-группы, и для прочих пользователей, которые не входят в первые две категории. Владельцев файла и права доступа можно узнать с помощью «длинного» формата команды ls:
В этом примере каталог sf_Shared принадлежит пользователю root и группе vboxsf. Владельца и права доступа можно также определить утилитой stat.
Вывести список всех файлов, принадлежащих пользователю или группе, можно с помощью утилиты find:
Изменить владельцев файла можно командой chown, а права доступа меняются командой chmod:
Shadow
Список файлов
Файл | Назначение |
---|---|
/etc/shadow | Безопасное хранение информации о пользователях |
/etc/passwd | Информация о пользователях |
/etc/gshadow | Скрытая информация о группах |
/etc/group | Принадлежность пользователей к группам |
Управление пользователями
Добавление нового пользователя выполняется командой useradd:
Пример добавления пользователя
Хотя задавать пароль для защиты нового пользователя не обязательно, всё же рекомендуется это сделать:
Если следовать рекомендованному подходу, т.е. создать группу, название которой совпадает с именем пользователя, то все файлы по умолчанию доступны на запись только создавшему их пользователю. Если вы хотите сделать некий каталог доступным на запись для всех членов определённой группы, то этому каталогу нужно установаить в правах доступа т.н. «бит setgid». Все создаваемые в этом каталоге файлы и подкаталоги получат в качестве группы-владельца группу родительского каталога, а не группу пользователя, их создавшего. Т.о. эти файлы будут доступны на запись для всех членов группы:
Временно изменить идентификатор группы GID пользователя можно командой newgrp. Например, после команды newgrp название_группы создаваемые пользователем файлы будут привязаны к идентификатору группы название_группы ; при этом заново выполнять вход не потребуется. Чтобы изменить GID обратно на исходный, выполните команду newgrp без аргументов.
Пример добавления системного пользователя
Системные пользователи чаще всего создаются для запуска процесоов/демонов другими пользователями, для защиты (например, с помощью chown) файлов и/или каталогов, а также по другим соображениям безопасности.
Смена имени пользователя или домашнего каталога
Команда для изменения домашнего каталога пользователя:
Команда для изменения имени пользователя:
Смена имени пользоваеля проста и безопасна, когда выполняется правильно. Просто используйте usermod. Если пользователь входит в «личную» группу с таким же именем, то переименовать её можно командой groupmod.
Также следует имейть в виду:
Другие примеры управления пользователями
Команда для добавления информации о пользователе (например, настоящего имени) в виде комментария GECOS:
(здесь chfn запускается в интерактивном режиме).
Либо же можно добавить более длинный GECOS-комментарий командой:
Следующая команда пометит пароль пользователя как истёкший и потребует от него при следующем входе создать новый:
Удаляются аккаунты пользователей командой userdel:
Команда для изменения оболочки входа пользователя:
База данных пользователей
Информация о пользователях хранится в открытом виде в файле /etc/passwd : каждая строка в нём представляет собой набор из семи полей, описывающих аккаунт.
Команда pwck проверяет корректность базы данных. При этом она может отстортировать список пользоватей по идентификаторам групп, что бывает полезно при сравнении:
Автоматическая проверка целостности
Управление группами
Команда для вывода списка групп, в которых состоит пользователь:
Если пользователь не указан, то будет выведен список групп текущего пользователя.
Команда id позволяет узнать дополнительные подробности, вроде UID и GID пользователя:
Команда для вывода списка существующих групп:
Команда для создания новой группы:
Добавить пользователя в группу можно командой gpasswd (см. FS#58262 на предмет возможных ошибок):
Также добавить пользователя в группы можно командой usermod (здесь доп_группы — список групп, разделённых запятыми без пробелов):
Команда для изменения группы, например, переименования:
Команда для удаления группы:
Команда для удаления пользователя из группы:
Проверить корректность базы данных групп можно командой grpck.
Список групп
Пользовательские группы
Часто возникает необходимость добавить обычного (не root) пользователя в одну из групп, обеспечивающих доступ к периферийным устройствам или упрощающих системное администрирование:
Системные группы
Следующие группы имеют значение для всей системы, и добавление в них пользователям производится только в указанных целях:
Группы, существовавшие до перехода на systemd
Есть несколько важных исключений, которые требуют добавления пользователей в группы ниже — например, если вы хотите разрешить неавторизованным пользователям доступ к устройствам. Тем не мнее, имейте в виду, что это может стать причиной определённых проблем (например, группа audio мешает быстрому переключению между пользователями, а также даёт приложениям возможность блокировать програмное микширование).
Неиспользуемые группы
Следующие группы в настоящий момент никак не используются.
Прочие инструменты для работы с базами данных
Для просмотра отдельных записей можно использовать getent(1) :