При попытке изменить пароль пользователя выдается ошибка "Аутентификация токена"

Я захожу на сервер Ubuntu, используя свое имя пользователя. После входа в систему я печатаю passwd команда. Ввод нового пароля через секунду после получения следующих сообщений об ошибках:

passwd: Authentication token manipulation error
passwd: password unchanged

Что здесь не так? Как я могу изменить свой пароль в противном случае, если у меня нет физического доступа к этому серверу, т.е. я подключаюсь удаленно с ssh используя терминал.

13 ответов

Решение

Если вы введете неправильный пароль

$ passwd
Changing password for rinzwind.
(current) UNIX password: 
passwd: Authentication token manipulation error
passwd: password unchanged

Вы получаете эту ошибку. Если вы уверены, что вставили правильный файл, эта ошибка также может отображаться, если вы используете скрытые файлы паролей, и у тени нет записи для этого пользователя (в основном/etc/passwd есть запись для этого пользователя, но /etc/shadow не).

Чтобы это исправить, вы можете либо добавить запись вручную (сначала сделайте резервную копию!!!), либо заново создать теневой файл с помощью pwconv ( Manpage).

Сделайте эти две вещи, чтобы убедиться:

mount -o remount,rw /

Эта первая часть перемонтирует корневой раздел как для чтения / записи, так как он был только в режиме чтения. Он фактически отключает корневой раздел, а затем снова подключает его для чтения / записи.

Тогда сделайте это:

chmod 640 /etc/shadow

Затем сделайте sudo passwd USER, Это должно работать после этого. Эта часть дает правильные разрешения для теневого файла.

pam-auth-update

исправил мой перепутал /etc/pam.d/common-password

Я не уверен, как это случилось. Пользователь sudo создал мою учетную запись, затем удалил ее, а затем создал ее снова.

Вот что я нашел

mount -o remount,rw /
passwd
passwd: Authentication token manipulation error

Без изменений.

sudo pwck

Показано без ошибок.

sudo grpck

Показано без ошибок.

ls -l /etc/passwd /etc/group /etc/shadow /etc/shadow-
-rw-r--r-- 1 root root    767 May  7 16:45 /etc/group
-rw-r--r-- 1 root root   1380 May  7 16:45 /etc/passwd
-rw-r----- 1 root shadow 1025 May  8 09:11 /etc/shadow
-rw------- 1 root root   1025 May  7 16:46 /etc/shadow-

Выглядит нормально.

sudo cat /etc/shadow |grep oracle
oracle:$6$FsPqyplr$DrIvjFDSx0ipHmECMw1AU5hTrbNMnnkGRdFlaQcM.p3Rdu2OLjY20tzUTW61HlFH16cal56rKlLuW4j2mK9D.:15833:0:99999:7:::

Показан пользователь и зашифрованный пароль.

sudo cat /etc/shadow- |grep oracle

Ничего не показывал. Не уверен, что это значит, но выглядит неправильно.

sudo passwd -d oracle
passwd

Поэтому решение было удалить пароль, а затем сбросить новый пароль.

Надеюсь это поможет.

Другая проблема может быть в том, что диск заполнен. Я получил эту ошибку при сбросе пароля, а затем проверил мои диски с df и обнаружил, что на моем диске нет свободного места. После освобождения я смог сбросить пароль без проблем.

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

restorecon -v /etc/shadow

Спасибо этому разговору за решение.

Эта проблема возникла из-за неправильных разрешений, установленных /usr/bin/passwd,

Пожалуйста, попробуйте установить разрешение 4511, используя команду:

chmod 4511 /usr/bin/passwd

Это решит проблему.

Проверьте, не испортили ли вы файл общего пароля в /etc/pam.d/, Это приведет к ошибкам, если ваш текущий пароль не совпадает с тем, который common-password хочет. В моем случае это было причиной, по которой я получал ошибку токена аутентификации.

Сервер, на котором я работал, был настроен с некоторой аутентификацией Windows через PowerBroker Identity Server (PBIS).

В основном, когда я ввожу sudo pam-auth-update появятся следующие параметры:

  1. Отмените выбор первого элемента списка, используя клавишу пробела для выбора / отмены выбора и стрелки вверх / вниз, если это необходимо.

  2. Затем перейдите к Ok Опция с использованием клавиши Tab и стрелок влево / вправо, если это необходимо.

  3. Нажмите Enter в верхней части Ok Вариант.

  4. После этого я мог бы использовать passwd а также adduser как обычно

  5. Как только вы закончите с вашей пользовательской конфигурацией, вы можете вернуться к sudo pam-auth-update и оставьте настройки как прежде.

В общем случае (т.е. без использования PowerBroker Identity Server (PBIS)), кажется, важно иметь Unix Authentication активирован (и никакой другой системы аутентификации).

Также убедитесь, что ваша запись в /etc/passwd не сформирована неправильно. Если в строке для ввода пользователя указано неверное количество двоеточий, команда passwd не сможет его проанализировать и откажется продолжить с точным сообщением об ошибке.

Ошибка говорит о том, что модуль PAM (см.: man pam_chauthtok) не удалось получить новый токен аутентификации. Это может произойти в Ubuntu, когда пользователь еще не установил пароль по умолчанию и passwd все еще запрашивает его, поэтому обходной путь заключается в изменении пароля с помощью root привилегии, например

sudo passwd $USER

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

Смотрите также: Ошибка манипулирования токеном аутентификации

В Lubuntu 15.04 у меня была такая же ошибка манипуляции токеном. Я понял, что это связано с тем, что файловая система все еще находится в режиме только для чтения.

С помощью:

mount -o remount, rw / passwd passwd: ошибка манипулирования токеном аутентификации

Это не работает, но работает: mount -o remount, --rw / passwd passwd: ошибка манипуляции токеном аутентификации

Используя приведенную выше информацию, я обнаружил, что это решило мою проблему

pam-auth-update

Мне нужно удалить extrausers вариант от пам.

В моих журналах я отметил следующие ошибки.

journalctl -f
passwd[16497]: pam_extrausers(passwd:chauthtok): user "xuser" does not exist in /var/lib/extrausers/passwd
Другие вопросы по тегам