FaceHost - Статьи

Ошибка Authentication token manipulation error

База знаний
Ошибка Authentication token manipulation error обычно возникает, когда пользователь пытается изменить свой пароль в Linux, но что-то идет не так. Это может быть вызвано различными причинами, например, неправильными правами доступа к файлам паролей или недостаточными правами пользователя.

Почему возникает ошибка?

Если переводить дословно, то эта ошибка означает, что утилита для управления паролями passwd не может манипулировать токеном. Под токеном здесь подразумевается хеш пароля, который вы указали. Это может возникнуть из-за невозможности записать новый хэш в файл конфигурации, потому что:
  • у программы нет прав на запись в файл /etc/shadow;
  • файловая система примонтирована в режиме только для чтения;
  • повреждение файловой системы;
  • на диске нет свободного места;
  • используется неверный модуль аутентификации.
Дальше рассмотрим, как исправить каждую из этих проблем, чтобы убрать ошибку.

Как устранить ошибку?

Чтобы исправить эту ошибку, можно попробовать выполнить следующие действия:
  1. Попробуйте изменить пароль с помощью команды "passwd" с правами суперпользователя (sudo). Например, sudo passwd username
  2. Проверьте права доступа к файлам паролей (/etc/passwd и /etc/shadow). Убедитесь, что они имеют правильные права доступа (обычно 644 для /etc/passwd и 640 для /etc/shadow).
  3. Если вы используете файловую систему с поддержкой SELinux, убедитесь, что SELinux не блокирует доступ к файлам паролей
  4. Если используется файловая система с поддержкой ACL, убедитесь, что права доступа установлены правильно
  5. Если все еще возникает ошибка, попробуйте перезагрузить компьютер и повторить попытку изменения пароля.
Если ничего из перечисленного не помогло, то возможно проблема в более серьезных проблемах с файловой системой или учетной записью пользователя, и в этом случае стоит обратиться к специалисту для дальнейшего решения проблемы.

Права доступа

Ошибка в работе утилиты может возникнуть, если установлены неправильные полномочия на файл /etc/shadow, в котором хранятся пароли.
Смотрим текущие полномочия командой:
ls -l /etc/shadow
У вас чтение и запись должны быть выставлены как на снимке, если это не так, выполните такую команду:
sudo chmod 0640 /etc/shadow

Файловая система только для чтения

Если вы загрузились в режиме восстановления Ubuntu или подобном режиме другого дистрибутива, то по умолчанию файловая система будет находиться в режиме только для чтения, соответственно утилита не сможет ничего записать. Чтобы перемонтировать её для записи, используйте:
sudo mount -o remount,rw /

Модули аутентификации

Ещё одной причиной может быть неправильная настройка модулей аутентификации, из-за которой утилита не может сохранить пароль. Доступные модули можно посмотреть командой:
ls /etc/pam.d/
Запустить обновление настроек модулей можно, выполнив от имени суперпользователя:

sudo pam-auth-update

На первом шаге надо нажать Ok:
Затем выбрать с помощью пробела и стрелок нужные модули, переключиться с помощью Tab на Ok и сохранить

Свободное место на диске

Естественно, утилита не сможет изменить пароль, если на диске не будет свободного места. Убедитесь, что есть, как минимум, несколько сотен свободных мегабайт на корневом разделе. Это можно сделать с помощью команды:
df -h
Посмотреть, какие файлы занимают больше всего места, и удалить ненужное можно с помощью ncdu:

sudo ncdu /
Если утилита не установлена, то её можно установить с помощью пакетного менеджера. Название пакета такое же как и у команды:

sudo apt install ncdu

Это основные способы решения данной проблемы.