Вопрос или проблема
Я хочу выполнить автовход
в Ubuntu 24.04 LTS
для учетной записи пользователя user
. Поэтому я изменил файл /etc/systemd/system/getty.target.wants/[email protected]
.
Затем я добавил это
[Service]
# виртуальный терминал очищается TTYVTDisallocate
# Значение опции '-o' указывает agetty заменить аргументы 'login' на
# опцию для сохранения окружения (-p), за которой следует '--' для безопасности, а затем
# введенное имя пользователя.
#ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear %I $TERM
ExecStart=-/sbin/agetty --autologin user --noclear %I $TERM <<----
Type=idle
Restart=always
RestartSec=0
UtmpIdentifier=%I
TTYPath=/dev/%I
Но я не смог добиться автологина. Вместо этого, когда я запускаю journalctl -xeu [email protected]
, я получаю эту красную ошибку. Ошибка говорит о том, что файл pam_lastlog.so
отсутствует, что действительно так в данном случае.
PAM невозможно загрузить dlopen(pam_lastlog.so) /usr/lib/security/pam_lastlog.so
PAM добавление неисправного модуля: pam_lastlog.so
Я предполагаю, что это и есть проблема. Как я могу это решить? Я уже установил sudo apt-get install libpam-modules
Я попытался устранить ошибку, добавив комментарий к
sudo nano /etc/pam.d/login
#session optional pam_lastlog.so
Затем ошибка исчезла, но автологина все равно нет!
Проблема решена!
Я был на неправильном tty
. Я должен быть на [email protected]
, который находился по адресу /run/systemd/generator
….
Ответ или решение
Устранение ошибки PAM: "unable to dlopen(pam_lastlog.so) /usr/lib/security/pam_lastlog.so"
Ваша проблема с авторизацией автоматического входа в Ubuntu 24.04 LTS может заключаться в нескольких аспектах, включая неправильно настроенные модули PAM или использование неверного терминала. Рассмотрим основные причины и их решение.
Что такое PAM и что такое pam_lastlog.so?
PAM (Pluggable Authentication Modules) — это система, используемая для управления аутентификацией и авторизацией пользователей в операционных системах Linux. Модуль pam_lastlog.so
отвечает за ведение журнала последнего входа пользователя в систему. Если этот модуль отсутствует или неправильно настроен, это может вызвать ошибки при входе.
Подробный разбор ошибки
Сообщение об ошибке, которое вы получили:
PAM unable to dlopen(pam_lastlog.so) /usr/lib/security/pam_lastlog.so
PAM adding faulty module: pam_lastlog.so
указывает на то, что система не может загрузить указанный модуль pam_lastlog.so
. Это может произойти по следующим причинам:
- Отсутствие библиотеки: Файл
pam_lastlog.so
в действительности отсутствует в указанном каталоге. - Ошибки конфигурации PAM: Неправильные настройки PAM могут вызвать ошибки при загрузке модулей.
- Использование неверного терминала: Если вы находитесь не на том TTY-терминале, где пытаетесь настроить авторизацию, это может повлиять на поведение системы.
Как исправить проблему
-
Проверка наличия модуля PAM:
Убедитесь, что модуль действительно установлен. Если вы уже установилиlibpam-modules
, попробуйте переустановить его:sudo apt-get install --reinstall libpam-modules
-
Проверка пути:
Проверьте, существует ли файлpam_lastlog.so
по указанному пути:ls /usr/lib/security/pam_lastlog.so
Если файл отсутствует, попробуйте выполнить обновление системы:
sudo apt-get update sudo apt-get upgrade
-
Настройки PAM:
Если вы решили временно закомментировать строку сpam_lastlog.so
в конфигурационном файле/etc/pam.d/login
, это может устранить ошибку, но не решит основную проблему с автоматическим входом. -
Настройка автоматического входа на правильном TTY:
Возможно, вы находитесь не на правильном TTY. Убедитесь, что ваша конфигурация/etc/systemd/system/getty.target.wants/
действительно соответствует ожидаемому терминалу.Вам необходимо проверить, на каком терминале вы находитесь (обычно TTY1 — это
/dev/tty1
). Вы можете попробовать повторить ваши шаги, используя TTY1, чтобы убедиться в правильности настроек:sudo systemctl restart getty@tty1.service
Заключение
Вы уже нашли решение своей проблемы — убедились в правильности TTY. Важно помнить, что при работе с системами на базе Linux правильная конфигурация PAM критична для успешной работы автоматического входа, а модули PAM должны быть доступными и корректно установленными.
Если даже после выполнения всех предложенных шагов проблема все еще не решена, попробуйте просмотреть другие модули PAM или обратиться к документации системы и форумам для получения дополнительной помощи.