- Как просмотреть список пользователей и групп в Linux?
- Просмотр пользователей
- Просмотр пользовательских групп
- Просмотр активных пользователей
- Заключение
- Посмотреть группы пользователя в Linux
- Список групп пользователя Linux
- Просмотреть список всех групп в Linux
- Добавление пользователя в Linux
- Управление группами юзера в Linux
- Модифицирование первичной группы пользователя в Linux
- Как вывести список групп в Linux
- Группы Linux
- Список всех групп, членом которых является пользователь
- Использование команды groups
- Используя команду id
- Список всех участников группы
- Список всех групп
- Выводы
- Как узнать, к каким группам принадлежит пользователь?
- Пользователи и группы
- Содержание
- Управление пользователями
- Добавление пользователя
- Параметры создания пользователя по умолчанию
- Изменение пользователя
- Изменение пароля
- Установка пустого пароля пользователя
- Получение информации о пользователях
- Удаление пользователя
- Управление группами
- Создание группы
- Изменение группы
- Удаление группы
- Файлы конфигурации
- /etc/passwd
- /etc/group
- /etc/shadow
- Управление пользователями и группами через GUI
- Установка
- Управление группами
Как просмотреть список пользователей и групп в Linux?
Одной из важнейших задач в системном администрировании является управление пользователями. Не менее важно также иметь чёткое представление и о самих пользователях. Точнее, об их учётных записях в системе. Администраторам приходится очень часто выяснять и проверять информацию о пользователях в разных ситуациях. О том, как это делается в системах Linux и будет рассмотрено в данной статье.
Просмотр пользователей
Учётные записи в системах Linux – это универсальные компоненты. Которые представляют собой как реальных пользователей, так и виртуальных. Последние предназначены для функционирования системных сервисов Linux, являющихся неотъемлемыми составляющими системы. Или же это могут быть служебные, дополнительно добавленные в систему сервисы, предназначенные для расширения её функционала.
Независимо от того, каким пользователям (реальным или виртуальным) принадлежат учётные записи, вся основная информация о них хранится в файле /etc/passwd. Каждая учётная запись в этом файле представлена одной строкой, разделённой на поля символами двоеточия. Например, просмотреть этот файл можно командой less:
Имя пользователя (учётной записи) содержится в первом поле. Поэтому, чтобы упростить восприятие вывода, когда нужно получить например, только список имён пользователей, можно использовать соответствующие инструменты, например команду cut (или аналогичные sed или awk):
Конечно, для того, чтобы различать принадлежность некоторых учётных записей к реальным или виртуальным пользователям, необходим некоторый опыт администрирования Linux или UNIX. Например, в приведённом выводе пользователь root – это суперпользователь. А пользователи daemon, bin, sys и sync – учётные записи, от имени которых работают системные сервисы.
Вообще, изначально по устоявшимся соглашениям, по-умолчанию в системах Linux принято придерживаться определённых правил для наименования учётных записей, обслуживающих системные или служебные процессы и/или сервисы. Так, например, для работы веб-сервера Apache обычно используется учётная запись www-data. Это очень важно для обеспечения и контроля безопасности системы. Таким образом легко разделять привилегии по функциональному признаку для пользователей. Такие же соглашения действуют и для наименования системных или служебных процессов. Тот же Apache обычно представляется процессами httpd или apache.
Просмотр пользовательских групп
Аналогично учётным записям, информация о всех группах пользователей хранится в одном файле /etc/group :
Первое, на что нужно обратить внимание, это то, что имена многих групп идентичны именам некоторых имеющихся в системе пользователей. И это не просто совпадение. Дело в том, что таким образом реализуется механизм частных пользовательских групп (UPG) в системе. Он заключается в том, что для пользователя создаётся одноимённая закрытая группа. Которая назначается этому пользователю как основная. Этот механизм позволяет использовать в системе общие каталоги (и вообще ресурсы) без вреда для безопасности. Для этого существует такой полезный инструмент в системе прав доступа как бит setgid. Смысл этого бита в том, что в каталоге, для которого он установлен, можно создавать файлы, принадлежащие тому же владельцу, что и сам каталог с битом setgid.
Просмотр активных пользователей
Информацию о том, какие пользователи активны в данный момент времени в системе позволяют команды «w» и «who». Первая по-умолчанию выводит более подробные данные о пользователях, например:
В первой строке указаны время старта системы, продолжительность её работы, количество активных пользователей, а также данные о средней загруженности системы за прошедшие 1, 5 и 15 минут. Далее следует список активных пользователей и используемых ими командах/процессах. Более подробно о работе команды «w» можно узнать на страницах интерактивного руководства, используя команду man w.
Заключение
В заключение стоит еще раз отметить, насколько легко при помощи простых команд можно получить подробное представление о пользовательской среде системы. При этом составить картину о действиях самих пользователей в данный момент времени. А также определить принадлежность групп и учётных записей. Важно понимать, что без умения находить информацию о пользователях нереально полноценно и гибко ими управлять. Что является важнейшей частью системного администрирования.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Посмотреть группы пользователя в 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/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.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
Источник
Как узнать, к каким группам принадлежит пользователь?
И обратно: как узнать, какие пользователи входят в группу?
Смотрение в man usermod не дало, в see also ничего интересного.
Это должно быть очень просто, что я упускаю?
>как узнать, какие пользователи входят в группу?
cat /etc/group ?
id username
getent group | grep groupname
тьфу,
getent group groupname
зайти под этим юзером и написать
groups $user_name, ня!
>groups $user_name, ня!
А можно еще и в гуях посмотреть)
А можно даже и как-то так:
ldapsearch -x -b ou=Group,dc=domain | sed ‘/cn:/!d;s/cn:\ //’ | \
while read I; do
[ «X$(ldapsearch -x „cn=$“ -b ou=Group,dc=domain | grep vasya.pupkov | wc -l)» == «X1» ] && echo $
done
Хотя, конечно от схемы сильно зависит. 😉
PS: хотя лучше конечно проверять на неравенство нулю, вдруг кого-то два раза в группу засунули.
Этот вариант корректнее и работает быстрее.
Источник
Пользователи и группы
Содержание
Управление пользователями
Добавление пользователя
Добавление пользователя осуществляется при помощи команды useradd . Пример использоания:
Эта команда создаст в системе нового пользователя vasyapupkin. Чтобы изменить настройки создаваемого пользователя, вы можете использовать следующие ключи:
Ключ | Описание |
---|---|
-b | Базовый каталог. Это каталог, в котором будет создана домашняя папка пользователя. По умолчанию /home |
-с | Комментарий. В нем вы можете напечатать любой текст. |
-d | Название домашнего каталога. По умолчанию название совпадает с именем создаваемого пользователя. |
-e | Дата, после которой пользователь будет отключен. Задается в формате ГГГГ-ММ-ДД. По умолчанию отключено. |
-f | Количество дней, которые должны пройти после устаревания пароля до блокировки пользователя, если пароль не будет изменен (период неактивности). Если значение равно 0, то запись блокируется сразу после устаревания пароля, при -1 — не блокируется. По умолчанию -1. |
-g | Первичная группа пользователя. Можно указывать как GID, так и имя группы. Если параметр не задан будет создана новая группа название которой совпадает с именем пользователя. |
-G | Список вторичных групп в которых будет находится создаваемый пользователь |
-k | Каталог шаблонов. Файлы и папки из этого каталога будут помещены в домашнюю папку пользователя. По умолчанию /etc/skel. |
-m | Ключ, указывающий, что необходимо создать домашнюю папку. По умолчанию домашняя папка не создается. |
-p | Зашифрованный пароль пользователя. По умолчанию пароль не задается, но учетная пользователь будет заблокирован до установки пароля |
-s | Оболочка, используемая пользователем. По умолчанию /bin/sh. |
-u | Вручную задать UID пользователю. |
Параметры создания пользователя по умолчанию
Если при создании пользователя не указываются дополнительные ключи, то берутся настройки по умолчанию. Эти настройки вы можете посмотреть выполнив
Результат будет примерно следующий:
Если вас не устраивают такие настройки, вы можете поменять их выполнив
где -s это ключ из таблицы выше.
Изменение пользователя
Изменение параметров пользователя происходит с помощью утилиты usermod . Пример использования:
usermod использует те же опции, что и useradd.
Изменение пароля
Изменить пароль пользователю можно при помощи утилиты passwd .
и ввести старый и новый пароли.
Основные ключи passwd:
Ключ | Описание |
---|---|
-d | Удалить пароль пользователю. После этого пароль будет пустым, и пользователь сможет входить в систему без предъявления пароля. |
-e | Сделать пароль устаревшим. Это заставит пользователя изменить пароль при следующем входе в систему. |
-i | Заблокировать учетную запись пользователя по прошествии указанного количества дней после устаревания пароля. |
-n | Минимальное количество дней между сменами пароля. |
-x | Максимальное количество дней, после которого необходимо обязательно сменить пароль. |
-l | Заблокировать учетную запись пользователя. |
-u | Разблокировать учетную запись пользователя. |
Установка пустого пароля пользователя
Супер пользователь с помощью утилит командной строки passwd и usermod или путем редактирования файла /etc/shadow может удалить пароль пользователь, дав возможность входить в систему без указания пароля.
Установка пустого пароля может быть полезна как временное решение проблемы в ситуации, когда пользователь забыл свой пароль или не может его ввести из-за проблем с раскладкой клавиатуры. После этого имеет смысл принудить пользователя установить себе новый пароль при следующем входе в систему
Получение информации о пользователях
Удаление пользователя
Для того, чтобы удалить пользователя воспользуйтесь утилитой userdel . Пример использования:
userdel имеет всего два основных ключа:
Ключ | Описание |
---|---|
-f | Принудительно удалить пользователя, даже если он сейчас работает в системе. |
-r | Удалить домашний каталог пользователя. |
Управление группами
Создание группы
Программа groupadd создаёт новую группу согласно указанным значениям командной строки и системным значениям по умолчанию. Пример использования:
Ключ | Описание |
---|---|
-g | Установить собственный GID. |
-p | Пароль группы. |
-r | Создать системную группу. |
Изменение группы
Сменить название группы, ее GID или пароль можно при помощи groupmod . Пример:
Ключ | Описание |
---|---|
-g | Установить другой GID. |
-n | Новое имя группы. |
-p | Изменить пароль группы. |
Удаление группы
Удаление группы происходит так:
groupdel не имеет никаких дополнительных параметров.
Файлы конфигурации
Изменять параметры пользователей и групп можно не только при помощи специальных утилит, но и вручную. Все настройки хранятся в текстовых файлах. Описание каждого из них приведено ниже.
/etc/passwd
В файле /etc/passwd хранится вся информация о пользователях кроме пароля. Одна строка из этого файла соответствует описанию одного пользователя. Примерное содержание строки таково:
Строка состоит из нескольких полей, каждое из которых отделено от другого двоеточием. Значение каждого поля приведено в таблице.
№ | Поле | Описание |
---|---|---|
1 | vasyapupkin | Имя пользователя для входа в систему. |
2 | x | Необязательный зашифрованный пароль. |
3 | 1000 | Числовой идентификатор пользователя (UID). |
4 | 1000 | Числовой идентификатор группы (GID). |
5 | Vasya Pupkin | Поле комментария |
6 | /home/vpupkin | Домашний каталог пользователя. |
7 | /bin/bash | Оболочка пользователя. |
Второе и последнее поля необязательные и могут не иметь значения.
/etc/group
В /etc/group, как очевидно из названия хранится информация о группах. Она записана в аналогичном /etc/passwd виде:
№ | Поле | Описание |
---|---|---|
1 | vasyapupkin | Название группы |
2 | x | Необязательный зашифрованный пароль. |
3 | 1000 | Числовой идентификатор группы (GID). |
4 | vasyapupkin,petya | Список пользователей, находящихся в группе. |
В этом файле второе и четвертое поля могут быть пустыми.
/etc/shadow
Файл /etc/shadow хранит в себе пароли, по этому права, установленные на этот файл, не дают считать его простому пользователю. Пример одной из записей из этого файла:
№ | Поле | Описание |
---|---|---|
1 | vasyapupkin | Имя пользователя для входа в систему. |
2 | $6$Yvp9VO2s$VfI0t.o754QB3HcvVbz5hlOafmO.LaHXwfavJHniHNzq/bCI3AEo562hhiWLoBSqxLy7RJJNm3fwz.sdhEhHL0 | Необязательный зашифрованный пароль. |
3 | 15803 | Дата последней смены пароля. |
4 | 0 | Минимальный срок действия пароля. |
5 | 99999 | Максимальный срок действия пароля. |
6 | 7 | Период предупреждения о пароле. |
7 | Период неактивности пароля. | |
9 | Дата истечения срока действия учётной записи. |
Управление пользователями и группами через GUI
В текущей версии Ubuntu отсутствует штатная утилита управления группами пользователей системы, поэтому по умолчанию все действия с группами необходимо выполнять в консоли. Однако для этих целей существует специальная утилита «Пользователи и группы».
Установка
Пакет gnome-system-tools находится в репозитории Ubuntu, поэтому ставится одной командой:
Управление группами
Для добавления, удаления групп, а также добавления\удаления пользователей в\из конкретных групп, необходимо в главном окне нажать кнопку «Управление группами», после чего вы увидите окно, отображающее все присутствующие в системе группы: в котором выбрав нужную группу и нажав «Свойства» можно отметить галочкой пользователей, которых необходимо внести в группу.
Источник