Я вхожу в систему своего Сервера Ubuntu с помощью моего имени пользователя. После того как я зарегистрирован, я ввожу passwd
команда. Ввод нового пароля, но спустя секунду после получения после сообщений об ошибках:
passwd: Authentication token manipulation error
passwd: password unchanged
Что не так здесь? Как я могу изменить свой пароль иначе, если у меня нет доступа к тому серверу физически, т.е. Я соединяюсь удаленно с ssh
использование терминала.
Если Вы вставите неправильный пароль
$ 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
. После этого он должен работать. Эта часть дает правильные разрешения для теневого файла.
Также убедитесь, что ваша запись в / etc / passwd не имеет неправильного формата. Если у вас неправильное количество двоеточий в строке для вашей записи пользователя, команда 'passwd' не сможет его проанализировать и откажется продолжить с предоставленным точным сообщением об ошибке.
Не знаю, как это произошло. Пользователь 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
Спасибо за этот разговор для решения.
Проверьте, не испортили ли вы файл общих паролей в /etc/pam.d/
.
Это вызовет ошибки, если ваш текущий пароль не совпадает с тем, который требуется для common-password
. В моем случае это была причина, по которой я получал ошибку токена аутентификации.
pam-auth-update
исправлен мой испорченный /etc/pam.d/common-password
Эта проблема возникла из-за неправильных разрешений, установленных на / usr / bin / passwd
.
Пожалуйста, попробуйте установить разрешение как 4511 с помощью команды:
chmod 4511 /usr/bin/passwd
Это решит проблему.
В Lubuntu 15.04 у меня была такая же ошибка манипулирования токеном. Я решил, что это связано с тем, что файловая система все еще находится в режиме только для чтения.
Использование:
mount -o remount,rw /
passwd
passwd: Authentication token manipulation error
Это не работает, но работает:
mount -o remount, --rw /
passwd
passwd: Authentication token manipulation error
Ошибка говорит о том, что модуль PAM (смотрите: man pam_chauthtok
) не смог получить новый маркер аутентификации. Это может произойти на Ubuntu, когда пользователь еще не установил пароль по умолчанию и passwd
все еще запрашивает его, поэтому обходным путем можно изменить пароль, используя привилегии root
, например,
sudo passwd $USER
, чтобы не запрашивать текущий пароль, и ошибка не произошла.
См. также: Ошибка манипуляции токеном аутентификации
Используя приведенную выше информацию, я обнаружил, что это решило мою проблему
pam-auth-update
Мне нужно удалить опцию extrausers
из pam.
В своих журналах я заметил следующие ошибки.
journalctl -f
passwd[16497]: pam_extrausers(passwd:chauthtok): user "xuser" does not exist in /var/lib/extrausers/passwd
Сервер, на котором я работал, был настроен каким-то образом из Аутентификация Windows через Сервер идентификации PowerBroker (PBIS) .
Обычно, когда я ввожу sudo pam-auth-update
, появляются следующие параметры:
Снимите выделение с первого элемента списка, используя клавишу Пробел для выбора / отмены выбора и стрелки вверх / вниз , если необходимо.
Затем перейдите к вариант Ok
с помощью Tab и кнопок со стрелками влево / вправо , если необходимо.
Нажмите Enter поверх опции Ok
.
После этого я мог бы использовать passwd
и adduser
как обычно
После того, как вы закончите настройку пользователя , вы можете вернуться к sudo pam-auth-update
, и оставьте настройки как прежде.
В общем случае (т.е. без использования PowerBroker Identity Server (PBIS) ), кажется важным активировать Unix Authentication
(и никакую другую систему аутентификации).