Продолжая наше исследование команд, которые дают представление о внутренней работе вашей системы Fedora Linux, мы обращаем внимание на более простые, такие как lslogins и lsmod. Эти инструменты предоставляют информацию об учетных записях пользователей и модулях ядра соответственно.

lslogins: просмотр учетных записей пользователей

lslogins — это команда, которая извлекает и отображает подробную информацию об учетных записях пользователей в вашей системе. Она извлекает данные из файлов /etc/passwd и /etc/shadow, а также системных журналов, чтобы предоставить вам полный обзор. Это особенно полезно для поиска ошибок входа и составления списка членства в группах.

Основы при использовании lslogins

Запустите команду без аргументов, чтобы отобразить сводку всех учетных записей пользователей:

1
lslogins

Будет выведен список пользователей, включающий UID (идентификатор пользователя), GID (идентификатор группы), имя пользователя и данные о последнем входе в систему.

Распространенные варианты и пример использования

  • -u: Отображение только учетных записей пользователей и root (отфильтровывание системных учетных записей с UID ниже 1000).
  • -G: Отображение информации о существующих группах.
  • -g <group>: Отображение пользователей определенной группы (например, wheel, которая обычно имеет разрешения sudo в системах на основен Red Hat).
  • -e: Отображение в экспортируемом формате вывода ключ-значение, разделенном пробелом.
  • -L: Список последних входов в систему и информации о пароле (пусто, вошел в систему, не вошел в систему).
  • -p: Отображать информацию, связанную с входом по паролю.
1
2
3
4
5
6
7
8
9
$ lslogins -L -p -u
 UID USER      LAST-TTY LAST-HOSTNAME LAST-LOGIN PWD-EMPTY PWD-LOCK PWD-DENY NOLOGIN HUSHED PWD-METHOD
   0 root                                                                          0        
1000 ahaerter  tty2     tty2               01:16                                   0      0

$ lslogins -G -u
 UID USER       GID GROUP     SUPP-GIDS  SUPP-GROUPS
   0 root         0 root                 
1000 ahaerter  1000 user      971,10,977 docker,wheel

lsmod: перечисление модулей ядра

Ядро Linux по своей сути монолитно, но оно также обеспечивает возможность загрузки и выгрузки модулей во время выполнения. Модуль ядра обычно понимается как компонент или расширение ядра. Например, драйверы оборудования (например, карты Wi-Fi, звуковые карты и т.д.) обычно реализуются как модули. Команда lsmod обеспечивает хороший обзор всех загруженных в данный момент модулей ядра.

Основы при использовании lsmod

Просто введите:

1
lsmod

Отобразится таблица с тремя столбцами:

  1. Module: Имя модуля ядра.
  2. Size: Размер памяти (в байтах), занимаемый модулем.
  3. Used by: Список зависимых модулей или функций ядра.

Например, так:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$ lsmod
Module                  Size  Used by
overlay               241664  0
tun                    73728  2
snd_usb_audio         614400  0
snd_usbmidi_lib        57344  1 snd_usb_audio
snd_ump                49152  1 snd_usb_audio
snd_rawmidi            57344  2 snd_usbmidi_lib,snd_ump
hid_jabra              16384  0
uinput                 20480  0
rfcomm                102400  16
snd_seq_dummy          12288  0
snd_hrtimer            12288  1
wireguard             122880  0
curve25519_x86_64      36864  1 wireguard
libcurve25519_generic    45056  2 curve25519_x86_64,wireguard
ip6_udp_tunnel         16384  1 wireguard
udp_tunnel             36864  1 wireguard
nf_conntrack_netbios_ns    12288  1
nf_conntrack_broadcast    12288  1 nf_conntrack_netbios_ns
nft_fib_inet           12288  1
nft_fib_ipv4           12288  1 nft_fib_inet
nft_fib_ipv6           12288  1 nft_fib_inet
nft_fib                12288  3 nft_fib_ipv6,nft_fib_ipv4,nft_fib_inet
[...]

Пример использования

Хотя у lsmod нет опций, сочетание его с другими командами повышает его полезность:

  • В сочетании с modinfo: получите подробную информацию о конкретном модуле, включая его автора, лицензию и описание.
  • Отладка с помощью dmesg: сопоставьте сообщения журнала ядра с загруженными модулями для диагностики проблем во время загрузки.
1
2
modinfo <module_name>
sudo dmesg | grep <module_name>

Заключение

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