ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Суббота, 14 декабря, 2024

3 способа составить список пользователей в Linux

3 способа составить список пользователей в Linux

Из этой статьи вы узнаете, как составить список пользователей в Linux. Вы также научитесь перечислять только зарегистрированных пользователей.

Сегодня в разных операционных системах есть возможность использовать нескольких пользователей, каждая со своими настройками и пользовательскими настройками, чтобы облегчить совместную работу администраторов и операторов в одной системе.

Linux, с другой стороны, очень силен в этом вопросе, поскольку позволяет нескольким пользователям одновременно работать в системе независимо. Это может даже позволить одному пользователю открыть несколько сеансов даже из разных мест для работы в системе.

Вот некоторые советы и рекомендации для пользователей Linux.

 

Список всех пользователей в Linux

Наверное, самое первое, что нужно знать, это как узнать, какие пользователи в моей системе. Есть несколько способов получить список пользователей в Linux.

 

1. Показать пользователей в Linux, используя less /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
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
maxdie:x:1000:1000:Max Die,,,:/home/helder:/bin/bash
davmail:x:127:65534::/var/lib/davmail:/usr/sbin/nologin
statd:x:128:65534::/var/lib/nfs:/usr/sbin/nologin
/etc/passwd (END)

 

Структура в приведенном выше выводе выглядит так:

Почему так много пользователей? Какие являются «Реальными»?

Список показывает намного больше пользователей, чем вы ожидали, потому что в нем также перечислены все пользователи системы.

Теперь, если вы хотите отличить обычных пользователей от системных пользователей, вы можете обратиться к номеру идентификатора пользователя (UID).

В общем-то обычный пользователь имеет UID, больший или равный 1000. Это дает вам подсказку, что пользователь с UID> = 1000 является обычным пользователем, а пользователи с UID <1000 являются системными пользователями.

 

2. Просмотр пользователей с помощью getent passwd

Эта команда выдаст вам вывод, похожий на пароль less /etc/. Однако этот запрос фактически запрашивает файл конфигурации функциональности коммутатора службы имен GNU (находится в /etc/nsswitch.conf).

Эта конфигуряция включает сложный пароль, поэтому он будет отображаться очень похоже, но если вы используете LDAP для аутентификации, он также будет включать его.

 

3. Список пользователей Linux с compgen

Если вы просто хотите перечислить все имена пользователей без какой-либо дополнительной информации, вы можете использовать команду compgen с опцией -u.

compgen -u

 

Вывод будет выглядеть так:

compgen -u
root
daemon
bin
sys
sync
games
man
lp
mail
news
uucp
proxy
www-data
backup
list
irc
gnats
nobody
systemd-timesync
systemd-network
systemd-resolve
systemd-bus-proxy
syslog
_apt
messagebus
sshd
ntp
mysql
bind
shellinabox
Debian-exim
proftpd
ftp
nginx
destroyer
debian-spamd
clamav
terminator

 

 

Несколько советов о перечислении пользователей в Linux

Вы только что увидели три способа просмотра пользователей в Linux. Вот несколько советов, которые помогут вам при работе с списком пользователей.

Список только имен пользователей

У вас уже есть команда compgen для этого, но вы не должны помнить это все время.

Если мы хотим получить только список имен пользователей в системе, вы можете использовать команду awk или команду cut для фильтрации вывода двух других команд, которые мы видели ранее.

cut -d: -f1 /etc/passwd

 

или же

getent passwd | awk -F: '{ print $1}'

 

Любой из них даст нам отфильтрованный список пользователей, показывая только самый первый столбец с именем пользователя:

root
daemon
bin
sys
sync
games
man
lp
mail
news
johndoe
davmail
statd

 

Проверьте, существует ли имя пользователя в системе

Это может быть полезно, если вы хотите знать, существует ли конкретное имя пользователя в системе:

getent passwd | grep maxdie

Maxdie:x:1000:1000:Max Die,,,:/home/maxdie:/bin/bash

 

Список всех подключенных пользователей

Если вы хотите знать, какие пользователи в настоящее время вошли в вашу систему, вам нужно выполнить простое «who» в командной строке, и это сразу выведет список текущих имен пользователей с активным сеансом в вашей системе.

user@system:~$ who
maxdie   :0           2019-02-02 03:12 (:0)
alexterminator   pts/0        2019-02-05 22:43 (192.168.1.23)
annadestroyer   pts/1        2019-02-07 11:10 (192.168.1.145)

 

В этом случае в списке будет указан не только список подключенных имен пользователей, но и то, как они связаны, с момента, когда они подключены и откуда они подключены.

В самом первом столбце будет указано, какое это имя пользователя.

Во втором столбце будет указан тип подключения: если он обозначен знаком «: X», где X — число, это означает, что он использует графический интерфейс пользователя (GUI) или сеанс рабочего стола, например Gnome, XDE и т. д. ; если он говорит «pts/X», где X — число, это означает, что это соединение, установленное по протоколу SSH (командная строка).

Третий столбец сообщит вам, когда этот сеанс был подключен к серверу (дата и время). В четвертом и последнем столбце будет указано место, откуда оно подключено. Если удаленно, будет отображаться IP-адрес, с которого установлено соединение, если локально (например, GUI), будет отображаться «(: X)», где X — это число сеанс в этом случае и будет соответствовать число во втором столбце для этой строки.

 

Завершение

Как видите, перечисление пользователей в Linux совсем не сложно. Он состоит из простых команд, которые выводят всю информацию для вас, что бы вы ни хотели сделать или получить эту информацию, это то, что вам нужно отфильтровать в зависимости от того, что вы хотите проверить в системе.

Надеюсь, вам понравилась эта статья. Если у вас есть какие-либо вопросы или предложения, пожалуйста, сообщите нам об этом в комментариях

Exit mobile version