Вопрос или проблема
RHEL 9.4. Выполнение passwd
accountName заканчивается следующей ошибкой:
passwd Ошибка обработки токена аутентификации.
journalctl -xe
gkr-pam: не удалось обновить пароль хранилища ключей: не был введен старый пароль
/var/log/secure
17 дек 11:08:28 server1 sshd[228669]: Использование произвольных простых чисел не допускается в режиме FIPS. Переход к известным группам.
17 дек 11:08:29 server1 sshd[228669]: PAM не удалось dlopen(/usr/lib64/security/pam_pwhisory.so): /usr/lib64/security/pam_pwhisory.so: невозможно открыть общий объект: Нет такого файла или каталога
/var/log/messages
SELinux предотвращает доступ /usr/sbin/pwhistory_helper на чтение файла /proc//stat
У меня есть файл /etc/shadow, и он выглядит нормально.
Я не пробовал в режиме одного пользователя, что я видел как некоторые решения. Нужно ли мне каждый раз переходить в режим одного пользователя, когда я хочу изменить пароль?
Могу ли я предоставить еще какую-либо информацию, чтобы помочь, или у кого-то есть предложение?
Спасибо!
Я пытался использовать seahorse через GUI, и это сработало, однако не все системы имеют GUI, и я могу подключаться к ним только по SSH. Я пробовал слишком строгие пароли. При изменении пароля я пробовал войти с ним, и это не сработало. Запустил sudo mount -o remount,rw
. Сервер был перезагружен.
Ответ или решение
Ошибка "Authentication Token Manipulation Error" при использовании passwd
в RHEL 9.4
Введение
При работе с операционной системой Red Hat Enterprise Linux (RHEL) 9.4 вы можете столкнуться с ошибкой "passwd Authentication token manipulation error", когда пытаетесь изменить пароль пользователя с помощью команды passwd
. Данная проблема может вызвана различными факторами, включая настройки безопасности, права доступа и конфликты с модулями PAM (Pluggable Authentication Modules).
Анализ Логов
При возникновении указанной ошибки, полезно проанализировать логи системы. Рассмотрим несколько ключевых сообщений из логов, которые могут дать понимание сути проблемы:
-
journalctl -xe
:gkr-pam: couldn't update the login keyring password: no old password was entered
Это сообщение может указывать на проблему с обновлением парольного ключа Gnome Keyring, однако это не является основной причиной ошибки при изменении пароля для пользователей.
-
/var/log/secure
:PAM unable to dlopen(/usr/lib64/security/pam_pwhisory.so): /usr/lib64/security/pam_pwhisory.so: cannot open shared object file: No such file or directory
Здесь мы видим, что PAM не может загрузить модуль
pam_pwhisory.so
. Это может быть связано с тем, что модуль не установлен или поврежден. Возможно, вам стоит проверить файл конфигурации PAM (/etc/pam.d/
) на наличие неправильных настроек. -
/var/log/messages
:SELinux is preventing /usr/sbin/pwhistory_helper from read access on the file /proc//stat
Сообщение указывает, что SELinux блокирует доступ к определенному файлу. Это может создавать проблемы при работе с модулями PAM или при запуске утилит, таких как
pwhistory_helper
, что может привести к ошибкам аутентификации.
Возможные Решения
-
Проверка SELinux:
Если SELinux активирован, временно отключите его или настройте соответствующие политики для разрешения работы с модулями PAM:setenforce 0 # временно отключить SELinux
Если это решает проблему, вам нужно будет настроить SELinux так, чтобы он не мешал работе PAM.
-
Устранение проблемы с модулем PAM:
Убедитесь, что все модули PAM, используемые в системе, установлены и корректно работают. Еслиpam_pwhisory.so
отсутствует, попробуйте переустановить пакет, который его содержит (например,pam
):sudo dnf reinstall pam
-
Проверка прав доступа:
Убедитесь, что у вас есть необходимые права для изменения паролей. Используйте командуls -l /etc/shadow
, чтобы проверить права доступа к файлу/etc/shadow
. -
Использование безопасного режима (Single User Mode):
Если проблема не устраняется, загрузка в однопользовательском режиме может позволить вам изменить пароли без воздействия других процессов. Но этот подход не рекомендуется использовать каждый раз. Если у вас есть возможность доступа к управляющим системам, настройте их правильно.
Заключение
Ошибка "Authentication token manipulation error" в RHEL 9.4 может иметь множество причин, от конфликтов в модулях PAM до ограничений, наложенных SELinux. Важно внимательно проанализировать логи и устранять проблемы, следуя шагам, описанным выше. При успешном разрешении рассматриваемой проблемы вы сможете безопасно и эффективно управлять изменениями паролей на вашем сервере. Если вам потребуется дальнейшая помощь, предоставьте дополнительные сведения о системе и конфигурациях.