Вопрос или проблема
Каждый раз, когда я пытаюсь войти в свою Linux-сессию через интерфейс GNOME, где я ввожу свое имя пользователя lmo
и пароль oo
, это не удается. (Это виртуальная среда.)
Если я делаю то же самое на TTY или используя su(1) от другого пользователя, вход в систему успешен.
Я проверил ошибки, используя ausearch(1). Вот выделенные файлы журналов, то есть те, которые содержат ключевое слово failed
.
...
type=CRED_ACQ msg=audit(1737801799.154:899): pid=43453 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='op=PAM:setcred grantors=? acct="lmo" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'
...
type=CRED_ACQ msg=audit(1737802267.477:1172): pid=44664 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='op=PAM:setcred grantors=? acct="lmo" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'
...
SELinux установлен в разрешающем режиме.
Какова причина этого поведения? Как я могу это исправить?
Ответ или решение
Если рассматривать вопрос, почему GDM (GNOME Display Manager) отказывает в доступе к вашему Linux-сеансу, то стоит разобрать несколько аспектов, ввиду которых может возникать данная проблема, особенно в контексте предоставленных логов и системы SELinux, работающей в режиме permissive.
Теория: Возможные причины отказа доступа
Одной из главных ролей в процессе аутентификации в Linux играет модуль Pluggable Authentication Modules (PAM). На основе логов, которые вы предоставили, видно, что ошибка связана с операцией PAM:setcred
, что подразумевает неудачу на этапе установки учетных данных пользователя. Это может означать, что в цепочке PAM возникла проблема, возможно, связанная с правами пользователя или с отсутствием необходимых модулей в конфигурации PAM.
Приведем основные потенциальные причины ошибки:
-
Неправильно сконфигурированные модули PAM: Если конфигурация PAM содержит ошибки или отсутствуют необходимые модули, это может препятствовать правильной обработке аутентификационных данных.
-
Проблемы с правами доступа: У вас могли возникнуть проблемы с разрешениями или правами доступа в системе, что может препятствовать успешному завершению аутентификации.
-
Конфликты SELinux: Хотя SELinux установлен в режим permissive, он всё равно может логировать и иногда косвенно влиять на некоторые операции. Однако в этом режиме он не должен блокировать выполняющиеся действия.
-
Ошибки в конфигурации GDM: Файлы конфигурации GDM могут быть повреждены или неправильно настроены, что может препятствовать корректной аутентификации.
Пример: Расшифровка логов
Логи, предоставленные вами, указывают на неудачу операции PAM:setcred
, что часто выявляет проблемы с доступностью или правильной загрузкой учетных данных, необходимых для аутентификации пользователя.
type=CRED_ACQ msg=audit(...) pid=43453 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='op=PAM:setcred grantors=? acct="lmo" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'
Здесь видно, что нет grantors – модули или пользователи, предоставляющие доступ, что уже является серьёзным индикатором наличия пробела в конфигурации PAM.
Применение: Шаги по устранению проблемы
Чтобы устранить проблему, следуйте приведенным действиям:
-
Проверка конфигураций PAM:
- Удостоверьтесь, что файлы конфигурации PAM, находящиеся в
/etc/pam.d/
, правильно настроены. Обратите особое внимание на файлы, такие какgdm-password
иgdm-autologin
. - Убедитесь, что в них прописаны все необходимые процессы аутентификации и нет опечаток.
- Удостоверьтесь, что файлы конфигурации PAM, находящиеся в
-
Проверка иерархической структуры разрешений:
- Убедитесь, что ваш пользователь
lmo
имеет необходимые права и не заблокирован в/etc/passwd
или/etc/shadow
. - Выполните команды для пересмотра прав доступа:
sudo chmod
иsudo chown
для проверки прав на директории, если необходимо.
- Убедитесь, что ваш пользователь
-
Оценка конфигурации GDM:
- Проверьте конфигурации GDM, которые находятся в
/etc/gdm/
. Убедитесь, что все пути и параметры указаны правильно, и в них нет конфликтов.
- Проверьте конфигурации GDM, которые находятся в
-
Проверка логов SELinux:
- Хотя SELinux в режиме permissive, все же полезно проверить логи, например, с помощью
sealert -a
, чтобы убедиться в отсутствии предупреждений, которые могут намекнуть на скрытые проблемы.
- Хотя SELinux в режиме permissive, все же полезно проверить логи, например, с помощью
-
Обновление и восстановление пакетов:
- Возможно, стоит восстановить или обновить пакеты PAM и GDM, чтобы исключить записанные баги или несовместимости. Это можно сделать с помощью пакетного менеджера, например,
sudo apt-get install --reinstall gdm3
или заменой на другой дисплейный менеджер временно.
- Возможно, стоит восстановить или обновить пакеты PAM и GDM, чтобы исключить записанные баги или несовместимости. Это можно сделать с помощью пакетного менеджера, например,
Если после выполнения всех шагов проблема сохраняется, рекомендуется собрать более детальные логи и обратиться к форумам или документации GNOME и PAM для получения более специализированной помощи. Помните, что каждому компоненту системы Linux свойственна тонкость настройки, и часто проблемы могут скрываться в неожиданных местах вашей конфигурации.