- Смотрим список пользователей в Linux
- В графическом интерфейсе
- Gnome
- LXQT
- KDE
- В терминале
- Команда w
- Как посмотреть список пользователей Linux
- Работа с пользователями в Linux
- Получение информации о пользователях
- Создание
- Ключи (опции)
- Редактирование
- Удаление
- Блокировка
- Работа с группами
- Список пользователей
- Примеры работы с учетными записями
- useradd
- usermod
- chage
- Возможные ошибки
- sudo must be owned by uid 0 and have the setuid bit set
Смотрим список пользователей в Linux
Рассказываем, как отобразить список пользователей в разных дистрибутивах Linux.
В графическом интерфейсе
Скорее всего, в вашу систему уже установлена какая-то графическая оболочка, и в ней есть программа для просмотра списка пользователей и управления ими.
Gnome
В оболочке Gnome 3 есть встроенная утилита для управления пользователями и группами. Покажу, как использовать ее на примере дистрибутива Ubuntu 18.04.
Если вы пользуетесь другим рабочим столом (KDE или XFCE), но хотите использовать эту утилиту для просмотра и управления пользователями, то сначала придется ее скачать. Для этого:
Нам нужен терминал. В Gnome он так и называется. В KDE вы можете наткнуться на другой вариант, например, на Konsole. Суть одна и та же
Такая команда сработает только в дистрибутивах, где используется пакетный менеджер apt. Это касается Ubuntu и других производных от Debian (нужно уточнять). В Fedora, например, вместо apt-get нужно писать dnf , а в Arch Linux — pacman -s .
LXQT
Если нужна утилита попроще, да и вообще вы хотите использовать компоненты из оболочки LXQT для управления пользователями, то можно проделать следующее:
- Для начала подключим репозиторий с компонентами рабочего стола LXQT. Если этого не сделать, то загрузить программы, связанные с оболочкой, просто не получится. Для этого открываем терминал и вводим туда команду sudo add-apt-repository ppa:lxqt-ppa/ppa .
Стоит отметить, что эта процедура не всегда нужна. Почти во всех дистрибутивах, что я тестировал, этот репозиторий был по умолчанию.
- Дожидаемся ее завершения. Затем вводим команду sudo apt-get update , чтобы обновить список репозиторием и его содержимым.
- После этого вписываем команду sudo apt-get install lxqt-admin . Она установит утилиту для управления пользователями из оболочки LXQT.
- Иконка приложения может не появиться в Dashboard, поэтому придется вводить в терминал команду lxqt-admin-user .
- На этом все. Перед нами появится список основных пользователей Linux. Но это не все. На самом деле их намного больше, и их можно увидеть в других программах.
KDE
Также стоит упомянуть еще один популярный рабочий стол и его компоненты. Вам могут понравиться утилиты для управления пользователями из этой оболочки, поэтому расскажу вам про нее. Для начала загрузим программу kuser.
- Открываем терминал.
- Вводим туда команду sudo add-apt-repository ppa:kubuntu-ppa/ppa , чтобы добавить в систему репозиторий с компонентами KDE. В противном случае вы не получите доступ к компонентам этого рабочего стола.
- Следующей командой устанавливаем утилиту kuser: sudo apt-get install kuser .
Система сама соберет все зависимые компоненты и подгрузит их вместе с утилитой kuser. Поэтому эта процедура может занять довольно много времени
- Затем нужно ввести пароль от учетной записи администратора.
- Потом терминал запросит ввести символ y , чтобы продолжить установку.
- Вероятно, приложение не появится в списке установленных, и для его запуска придется ввести команду в терминал.
В терминале
А теперь речь пойдет о более универсальных методах. Описанные ниже команды и файлы работают во всех дистрибутивах Linux и не требуют загрузки или установки дополнительных компонентов. При этом они дают большое количество информации, которую можно оформить по своему желанию.
Команда w
Да, все просто. Достаточно ввести в терминал любого Linux-дистрибутива единственный символ и перед вами появится список пользователей, которые авторизовались в системе и прямо сейчас ее используют.
Она дает не так много информации, но ее гораздо больше, чем в графическом интерфейсе. Например, указывается время пребывания пользователя в операционной системе.
Как посмотреть список пользователей Linux
Привет всем любителям и почитателям альтернативных операционных систем! Я, конечно, чаще всего работаю в Windows, но и с «Пингвином» приходится довольно часто общаться. Недавно мне понадобилось посмотреть список пользователей из старенького файлового сервера на Ubuntu Linux чтобы завести их всех на новом, более мощном под управлением CentOS. Старый уже практически отжил своё и вот-вот должен накрыться, но пока ещё запускается.
Итак, чтобы вывести список пользователей Линукс в консоли, достаточно просто вывести содержимое системного файла passwd , который лежит в директории /etc . Он содержит полную информацию о каждом логине.
Делается это с помощью команды:
Чтобы исключить из списка системные учётные записи и вычленить только несистемные логины, воспользуйсь вот таким вариантом:
Если полная информация не нужна и достаточно всего лишь логинов, то лучше использовать вот такую команду:
Мне именно такой вариант был удобнее, потому как я просто скопировал его и вставил в лист Excel, получив в каждой строчке по логину.
Есть и ещё один неплохой вариант получить список пользователей Linux (Ubuntu, Fedora, CentOS и т.д.) в консоли — это утилита getent . Она используется для того, чтобы выполнить чтение информации по базам данных операционной системы и вывести результат поиска. Команда будет выглядеть так:
Результат выполнения будет таким:
И ещё! Иногда надо посмотреть список активных пользователей Linux, то есть тех, которые сейчас залогинен в системе. Для этого надо воспользоваться другой командой:
Этим Вы вызовите системную утилиту users, которая перечислит все текущие логины, которые подключились к системе в отсортированном по имени виде.
Альтернативным вариантом может служить команда:
То есть Вы увидите таблицу, где будут отображены все виртуальные консоли с залогиненными в них юзерами.
Работа с пользователями в Linux
Обновлено: 20.04.2023 Опубликовано: 05.12.2016
В данной инструкции рассказывается о работе с пользователями Linux через терминал (с применением командной строки).
Получение информации о пользователях
1. Список пользователей можно посмотреть в файле /etc/passwd командой:
Данная команда вернет всех пользователей, в том числе служебных. Для отображения только учетных записей пользователей можно ввести команду:
2. Проверить существование пользователя и увидеть его идентификатор можно с помощью команды id:
Мы должны увидеть что-то на подобие:
uid=1001(username) gid=1001(username) groups=1001(username),27(sudo)
* учетная запись username существует, она находится в основной группе username и дополнительной sudo. Ее идентификатор 1001.
3. Также мы можем получить строку о пользователе из файла /etc/passwd:
* наш пользовател username имеют идентификатор пользователя и группы 1001, его домашняя директория /home/username, командная оболочка /bin/sh.
Создание
* опции не являются обязательными при создании пользователя.
* в данном примере создается учетная запись dmosk.
Для учетной записи стоит сразу создать пароль:
* после ввода, система попросит ввести пароль дважды.
Ключи (опции)
Ключ | Описание и примеры |
---|---|
-b | Задает базовый каталог для домашнего каталога useradd dmosk -b /var/home |
-c | Создает комментарий для описания учетной записи useradd dmosk -c «Пользователя для управления системой» |
-d | Полный путь к домашнему каталогу пользователя useradd dmosk -d /home/newuser |
-D | Позволяет показать или изменить настройки по умолчанию, которые будут применяться при последующем создании пользователей useradd dmosk -Ds /bin/bash |
-e | Дата, после которой учетная запись устареет. useradd dmosk -e 2017-12-31 |
-f | Число дней, после которого учетная запись с устаревшим паролем будет заблокирована useradd dmosk -f 0 |
-g | Задает основную группу useradd dmosk -g altternativegroup |
-G | Задает дополнительные группы useradd dmosk -G wheel |
-k | Путь к источнику скелета (файлы с шаблонами для нового пользователя) useradd dmosk -k /var/skel |
-m | При создании пользователя создать домашний каталог useradd dmosk -m |
-M | Не создавать домашний каталог useradd dmosk -M |
-N | Не создавать основную группу с таким же именем, как у пользователя useradd dmosk -N |
-o | Разрешает создание учетной записи с повторяющимся UID useradd dmosk -u 15 -o |
-p | Задает пароль useradd dmosk -p pass |
-r | Системная учетная запись (без домашнего каталога и с идентификаторами в диапазоне SYS_UID_MIN — SYS_UID_MAX из файла /etc/login.defs) useradd dmosk -r |
-R | Каталог, в который выполняется chroot useradd dmosk -R /var/chroot/home |
-s | Путь до оболочки командной строки useradd dmosk -s /bin/csh |
-u | Задает UID useradd dmosk -u 666 |
-U | Имя группы будет таким же, как у пользователя useradd dmosk -U |
Актуальный список ключей можно получить командой useradd -h.
Редактирование
* эта команда добавит пользователя dmosk в группу wheel
Удаление
Блокировка
1. Можно заблокировать пользователя, не удаляя его из системы:
Чтобы разблокировать пользователя, вводим:
2. В некоторых системах Linux может использоваться pam-модуль tally. Он осуществляет подсчет количества неудачных попыток входа в систему. Также он может блокировать доступ при превышении данного количества.
Чтобы посмотреть счетчик для пользователя, вводим команду:
Для сброса счетчика (и блокировки, если она есть) вводим:
pam_tally2 —user=admin —reset
Работа с группами
4. Добавление пользователя в группу:
Выполняется через команду usermod:
Выполняется с помощью gpasswd:
Список пользователей
Посмотреть список пользователей можно в файле /etc/passwd:
Мы увидим что-то на подобие:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
.
Как правило, большая часть данных пользователей является системными — их UID меньше 1000 и больше 60000.
Более функциональная команда для отображения содержимого файла passwd — getent:
Можно найти пользователя по идентификатору:
Получить список не системных пользователей:
Получить только список логинов не системных учетных записей:
Примеры работы с учетными записями
Рассмотрим несколько утилит, с помощью которых можно управлять учетными записями в Linux.
useradd
1. Создать пользователя, добавить его в группу и создать домашнюю директорию:
useradd dmosk -G printer -m
2. Создать учетную запись с возможностью получения привилений суперпользователя (командой sudo su):
3. Создать пользователя с определенными UID и GID (соответственно идентификаторы пользователя и группы):
useradd dmosk -u 900 -g 950
* группа с используемым идентификатором (в данном примере 950) уже должна быть создана заранее с использованием команды groupadd.
4. Создать пользователя и указать путь к домашней директории:
useradd dmosk -d /home/newdmosk
5. Создать учетную запись без возможности входа в систему:
useradd dmosk -s /sbin/nologin
usermod
1. Потребовать сменить пароль при следующем входе в систему:
2. Поменять пользователю основную группу:
usermod dmosk -g kdonewgroup
3. Задать пользователю дополнительную группу с правами root:
4. Добавить пользователя в группу:
* в данном примере мы добавим пользователя dmosk в группу group.
5. Сменить домашнюю директорию:
usermod -d /var/www/dmosk dmosk
* данной командой мы меняем для пользователя dmosk домашнюю директорию на /var/www/dmosk.
chage
1. Автоматическая блокировка учетной записи:
* данной командой мы указали, что учетная запись dmosk перестанет действовать после 1 мая 2023 года.
Чтобы посмотреть информацию о дате окончания срока действия учетной записи вводим:
Сделать учетную запись бессрочной:
Возможные ошибки
sudo must be owned by uid 0 and have the setuid bit set
При попытке получить привилении командой:
. система возвращает ошибку:
sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set
Причина: эта ошибка возникает, когда утилита sudo не имеет правильных прав доступа на вашей системе. В частности, она происходит, когда владелец файла /usr/bin/sudo не является пользователем root или когда установлен неправильный бит setuid на файле.
Решение: убедитесь, что вы вошли в систему с учетной записью, имеющей права администратора. Это можно сделать, войдя напрямую под пользователем root.
Выполняем команду, чтобы проверить права файла sudo:
Если владелец не является пользователем root, выполните следующую команду, чтобы изменить владельца файла:
chown root:root /usr/bin/sudo
Убедитесь, что установлен правильный бит setuid на файле sudo, выполнив следующую команду: