“Ошибка манипуляции с токеном аутентификации” при попытке изменить пароль без запроса пароля.

Вопрос или проблема

Я пытаюсь изменить пароль для учетной записи, не являющейся root, в одной строке (чтобы я мог использовать это в Ansible). У меня возникают проблемы с его работой на моих серверах Ubuntu.

Ни одна из приведенных ниже команд, которые я нашел в других статьях на Stack Overflow, не помогла.

echo "adminSrv:newPass123)0!$" | chpasswd
echo -e "'newPass123)0!$'\n'newPass123)0!$'" | passwd adminSrv

Не могу использовать команду ниже, поскольку у моего пользователя нет прав sudo

echo 'user:passwd' | sudo chpasswd

Ниже приведены два варианта ошибки, с которыми я постоянно сталкиваюсь:

Изменение пароля для adminSrv.
chpasswd: (пользователь adminSrv) pam_chauthtok() не удалась, ошибка:
Ошибка манипуляции с токеном аутентификации
chpasswd: (строка 1, пользователь adminSrv) пароль не изменен
Изменение пароля для adminSrv.
Текущий пароль: passwd: Ошибка манипуляции с токеном аутентификации
passwd: пароль не изменен

Я не получаю никаких из этих ошибок, если меняю свой пароль вручную. Но мне действительно хотелось бы сделать это в одну строку. Возможно, я сталкиваюсь с проблемой форматирования? Но именно поэтому я включил кавычки в свои попытки. Спасибо за внимание.

Ответ или решение

Ошибка "Authentication token manipulation error" при смене пароля в Ubuntu

При попытке смены пароля пользователя в Ubuntu с помощью команды chpasswd или passwd вы столкнулись с ошибкой "Authentication token manipulation error". Это сообщение об ошибке может быть связано с несколькими факторами, которые стоит рассмотреть.

1. Причины возникновения ошибки

Для начала необходимо понять, что ошибка "Authentication token manipulation error" возникает, когда система не может корректно изменить аутентификационные токены (пароли) пользователя. Это может происходить по различным причинам:

  • Отсутствие необходимых прав: Если вы пытаетесь сменить пароль для пользователя, не обладая правами суперпользователя (sudo), это может привести к ошибке.
  • Файловая система в режиме только для чтения: Если файловая система, содержащая каталоги аутентификации, настроена на доступ только для чтения, вы не сможете внести изменения.
  • Ошибка PAM (Pluggable Authentication Modules): Проблемы с модулями PAM могут блокировать изменения пароля.

2. Решение проблемы

Давайте рассмотрим несколько подходов для устранения данной проблемы.

2.1 Использование команд с правами superuser

Поскольку у вас нет прав sudo, вам нужно либо получить эти права, либо использовать команду от имени пользователя, который их имеет. Попробуйте выполнить следующую команду от суперпользователя:

echo "adminSrv:newPass123)0!$" | sudo chpasswd

Если вы не имеете доступа к sudo, попробуйте обратиться к администратору вашей системы.

2.2 Изменение настроек файловой системы

Проверьте, не находится ли ваша файловая система в режиме только для чтения. Для этого выполните команду:

mount | grep -e ' / '

Если вы видите (ro) в выводе, файловая система доступна только для чтения. Попробуйте её перемонтировать в режиме чтения-записи:

sudo mount -o remount,rw /
2.3 Проверка настроек PAM

К сожалению, если вы не обладаете правами суперпользователя, вам не удастся внести изменения в файлы конфигурации PAM. Проверьте следующие файлы:

  • /etc/pam.d/common-password
  • /etc/pam.d/common-auth

Убедитесь, что в этих файлах нет конфликтов или неправильных настроек.

2.4 Попробуйте использовать другие утилиты

Существуют и другие утилиты для изменения пароля, такие как usermod. Если у вас есть другой аккаунт с правами sudo, попробуйте выполнить команду с использованием usermod:

sudo usermod --password $(echo -n 'newPass123)0!$' | openssl passwd -1 -stdin) adminSrv

Данная команда хэширует новый пароль и обновляет запись пользователя.

3. Заключение

Ошибки при изменении пароля могут вызывать много неудобств, особенно в автоматизированных сценариях, таких как Ansible. Обязательно убедитесь, что у вас есть необходимые права, что файловая система доступна для записи и что нет конфликтов в конфигурациях PAM. Если проблема не решается, рекомендуется обратиться к администратору системы для получения дополнительной поддержки.

Если у вас возникнут еще вопросы или понадобятся дополнительные разъяснения, не стесняйтесь обращаться за помощью.

Оцените материал
Добавить комментарий

Капча загружается...