Проверка оболочки с помощью команды getent passwd
На предыдущих этапах вы узнали, как напрямую просматривать файл /etc/passwd
и перечислять доступные оболочки. Теперь давайте используем другую команду, getent
, чтобы получить информацию о пользователе, включая его оболочку.
Команда getent
представляет собой утилиту, которая получает записи из баз данных Name Service Switch (NSS), которые могут включать /etc/passwd
, /etc/group
и другие. Это более стандартизованный способ получения информации о пользователях по сравнению с прямым чтением файла /etc/passwd
, так как он также может запрашивать сетевые базы данных пользователей.
Чтобы получить запись для пользователя labex
из базы данных passwd
, введите следующую команду в терминале и нажмите Enter:
getent passwd labex
Эта команда специально запрашивает запись для пользователя labex
из базы данных passwd
. Вывод будет похож на строку, которую вы видели при использовании команды cat /etc/passwd
:
labex:x:5000:5000:LabEx user,,,:/home/labex:/usr/bin/zsh
Снова последнее поле /usr/bin/zsh
подтверждает, что стандартной оболочкой для пользователя labex
является /usr/bin/zsh
.
Использование команды getent
часто предпочтительнее в скриптах или при запросах к системам, которые могут использовать централизованные системы аутентификации (например, LDAP), а не только локальные файлы. Для простых проверок на локальной системе работают как команда cat /etc/passwd
, так и команда getent passwd <username>
.
Теперь вы успешно использовали три разных метода для изучения оболочек пользователей в Linux: прямое просмотр файла /etc/passwd
, перечисление доступных оболочек с помощью команды chsh -l
и запрос информации о пользователе с помощью команды getent
.
Нажмите Продолжить (Continue), чтобы завершить этот практический урок.