- 11 способов найти информацию об учетной записи пользователя и данные для входа в Linux
- 1. Идентификационная команда
- 2. групповая команда
- 3. Команда пальца
- 4. команда getent
- 5. Команда grep
- 6. Команда lslogins
- 7. Команда пользователей
- 8. кто командует
- 9. Команда w
- 10. последняя или последняяb команды
- 11. Команда lastlog
- Работа с пользователями в Linux
- Получение информации о пользователях
- Создание
- Ключи (опции)
- Редактирование
- Удаление
- Блокировка
- Работа с группами
- Список пользователей
- Примеры работы с учетными записями
- useradd
- usermod
- chage
- Возможные ошибки
- sudo must be owned by uid 0 and have the setuid bit set
11 способов найти информацию об учетной записи пользователя и данные для входа в Linux
Эта статья покажет вам одиннадцать полезных способов поиска информации о пользователях в системе Linux. Здесь мы опишем команды для получения данных учетной записи пользователя, отображения данных для входа, а также того, что пользователи делают в системе.
Если вы хотите добавить пользователей в Linux, используйте usermod через командную строку, как описано в следующих руководствах:
- 15 полезных практических примеров команды useradd
- 15 полезных практических примеров использования команды usermod
Мы начнем с рассмотрения команд для поиска информации об учетной записи пользователя, а затем перейдем к объяснению команд для просмотра данных для входа.
1. Идентификационная команда
id — это простая утилита командной строки для отображения реальных и эффективных идентификаторов пользователей и групп следующим образом.
$ id tecmint uid=1000(tecmint) gid=1000(tecmint) groups=1000(tecmint),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),130(sambashare)
2. групповая команда
Команда groups используется для отображения всех групп, к которым принадлежит пользователь.
$ groups tecmint tecmint : tecmint adm cdrom sudo dip plugdev lpadmin sambashare
3. Команда пальца
Команда finger используется для поиска информации о пользователе в Linux. Во многих системах Linux он не устанавливается отдельно.
Чтобы установить его в своей системе, запустите эту команду в терминале.
$ sudo apt install finger #Debian/Ubuntu $ sudo yum install finger #RHEL/CentOS $ sudo dnf install finger #Fedora 22+
показывает настоящее имя пользователя; домашний каталог; оболочка; логин: имя, время; и многое другое, как показано ниже.
$ finger tecmint Login: tecmint Name: TecMint Directory: /home/tecmint Shell: /bin/bash On since Fri Sep 22 10:39 (IST) on tty8 from :0 2 hours 1 minute idle No mail. No Plan.
4. команда getent
getent — это утилита командной строки для извлечения записей из библиотек Name Service Switch (NSS) из определенной системной базы данных.
Чтобы получить данные учетной записи пользователя, используйте базу данных passwd и имя пользователя следующим образом.
$ getent passwd tecmint tecmint:x:1000:1000:TecMint. /home/tecmint:/bin/bash
5. Команда grep
Команда grep — это мощный инструмент поиска шаблонов, доступный в большинстве, если не во всех системах Linux. Вы можете использовать его для поиска информации о конкретном пользователе в файле системных учетных записей: /etc/passwd, как показано ниже.
$ grep -i tecmint /etc/passwd tecmint:x:1000:1000:TecMint. /home/tecmint:/bin/bash
6. Команда lslogins
команда lslogins показывает информацию об известных пользователях в системе, флаг -u отображает только учетные записи пользователей.
$ lslogins -u UID USER PROC PWD-LOCK PWD-DENY LAST-LOGIN GECOS 0 root 144 root 1000 tecmint 70 10:39:07 TecMint. 1001 aaronkilik 0 1002 john 0 John Doo
7. Команда пользователей
Команда users показывает имена всех пользователей, которые в данный момент вошли в систему.
$ users tecmint aaron
8. кто командует
команда who используется для отображения пользователей, которые вошли в систему, включая терминалы, с которых они подключаются.
$ who -u tecmint tty8 2017-09-22 10:39 02:09 2067 (:0)
9. Команда w
команда w показывает всех пользователей, вошедших в систему, и то, что они делают.
$ w 12:46:54 up 2:10, 1 user, load average: 0.34, 0.44, 0.57 USER TTY FROM IDLE JCPU PCPU WHAT tecmint tty8 :0 10:39 2:10m 4:43 0.46s cinnamon-sessio
10. последняя или последняяb команды
Команды last/lastb отображают список последних пользователей, выполнивших вход в систему.
$ last OR $ last -a #show hostname on the last column
tecmint tty8 Fri Sep 22 10:39 gone - no logout :0 reboot system boot Fri Sep 22 10:36 still running 4.4.0-21-generic tecmint tty8 Thu Sep 21 10:44 - down (06:56) :0 reboot system boot Thu Sep 21 10:42 - 17:40 (06:58) 4.4.0-21-generic tecmint tty8 Wed Sep 20 10:19 - down (06:50) :0 reboot system boot Wed Sep 20 10:17 - 17:10 (06:52) 4.4.0-21-generic tecmint pts/14 Tue Sep 19 15:15 - 15:16 (00:00) tmux(14160).%146 tecmint pts/13 Tue Sep 19 15:15 - 15:16 (00:00) tmux(14160).%145 .
Чтобы показать всех пользователей, которые присутствовали в указанное время, используйте параметр -p следующим образом.
$ last -ap now tecmint tty8 Fri Sep 22 10:39 gone - no logout :0 reboot system boot Fri Sep 22 10:36 still running 4.4.0-21-generic wtmp begins Fri Sep 1 16:23:02 2017
11. Команда lastlog
команда lastlog используется для поиска сведений о недавнем входе в систему всех пользователей или данного пользователя следующим образом.
$ lastlog OR $ lastlog -u tecmint #show lastlog records for specific user tecmint
Username Port From Latest root **Never logged in** kernoops **Never logged in** pulse **Never logged in** rtkit **Never logged in** saned **Never logged in** usbmux **Never logged in** mdm **Never logged in** tecmint pts/1 127.0.0.1 Fri Jan 6 16:50:22 +0530 2017 ..
Вот и все! Если вы знаете какой-либо другой трюк или команду командной строки для просмотра сведений об учетной записи пользователя, поделитесь с нами.
Вы найдете эти связанные статьи очень полезными:
- Как управлять пользователями и группами в Linux
- Как удалить учетные записи пользователей с помощью домашнего каталога в Linux
- 3 способа изменить оболочку пользователя по умолчанию в Linux
- Как заблокировать или отключить вход пользователей в систему в Linux
В этой статье мы объяснили различные способы поиска информации о пользователях и данных для входа в систему Linux. Вы можете задать любые вопросы или поделиться своими мыслями через форму обратной связи ниже.
Работа с пользователями в 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, выполнив следующую команду: