Что делать, если sudo не принимает правильный пароль

Иногда Linux может неожиданно сообщать «неверный пароль» даже если вы вводите правильный пароль для sudo. Это раздражает и тормозит работу. Ниже — проверенные шаги и дополнительные рекомендации для разных сценариев и ролей.
1. Выйдите и войдите в новую сессию
Почему это помогает: проблема часто вызвана временными сбоями в PAM, кешировании или сеансе пользователя. Перезапуск сессии очищает временные состояния.
Что сделать:
- Выполните простую команду выхода из текущего графического или консольного сеанса (кнопки «Выйти» в DE или команда logout в терминале).
- Войдите снова под тем же пользователем.
- Если проблема осталась — перезагрузите всю систему командой:
rebootВажно: если вы работаете на сервере и у вас есть активные задачи, сначала сохраните прогресс.
2. Смените пароль пользователя из виртуальной консоли
Когда применять: если сессия повреждена или вы подозреваете, что локальные политики авторизации/указания пароля нарушены.
Шаги:
- Переключитесь на виртуальную консоль с помощью Ctrl+Alt+F2 (или F3…F6). На многих дистрибутивах графическая сессия остаётся на F1 или F7.
- Введите имя пользователя и пароль, если требуется. Если у вас нет прямого доступа к учётной записи, войдите как root или используйте имеющийся доступ администратора.
- Получите root-права:
sudo suили, если доступно,
su -- Смените пароль конкретного пользователя (замените username на имя пользователя):
passwd username- Вернитесь в графическую сессию (обычно Ctrl+Alt+F1 или F7) и попробуйте sudo снова.
Примечание: команда passwd изменяет пароль для учётной записи; если вы используете внешний механизм аутентификации (LDAP, AD), используйте соответствующие инструменты.
3. Перезапустите службу systemd-homed
Почему это помогает: systemd-homed управляет домашними каталогами и может участвовать в механизмах авторизации. Перезапуск службы сбрасывает внутренние состояния и может вернуть корректную работу sudo.
Шаги:
- Откройте терминал.
- Получите права root:
sudo su- Перезапустите службу:
systemctl restart systemd-homed.serviceЕсли служба не установлена или возвращает ошибки, проверьте её статус:
systemctl status systemd-homed.serviceи просмотрите журналы:
journalctl -u systemd-homed.service --no-pagerКогда эти шаги не сработают
- Ваш пользователь аутентифицируется через LDAP/AD/SSO — локальная смена пароля не снимет проблему. Свяжитесь с администратором каталога.
- Повреждение PAM-конфигурации (файлы в /etc/pam.d) — потребуется восстановление конфигурации из резервной копии.
- Проблемы с файловой системой, где находятся домашние каталоги (ошибки монтирования или шифрования) — проверьте dmesg и журналы монтирования.
Альтернативные подходы и обходные пути
- Использовать root-логин напрямую (если разрешён): su - или вход под root.
- Временное использование sudo с опцией -S и чтением пароля из stdin (не рекомендуется для постоянного использования по соображениям безопасности).
- pkexec (PolicyKit) для запуска графических приложений с повышенными правами.
- Подключение по SSH с ключевой аутентификацией и выполнение административных команд из удалённой сессии.
Ментальные модели: как думать о проблеме
- Уровни аутентификации: локальные пароли → PAM → systemd-homed → внешний каталог (LDAP/AD). Проблемы чаще всего находятся на верхнем работающем уровне.
- Кеши и сеансы обычно ломаются первыми; перезапуск сессии и сервисов часто решает 70–80% временных сбоев (эмпирическое правило администраторов).
Чеклист для разных ролей
Для пользователя:
- Убедиться, что раскладка клавиатуры правильная.
- Выйти и войти в систему.
- Перезагрузить компьютер при возможности.
- Попробовать sudo в чистом терминале (tty).
Для администратора:
- Проверить /var/log/auth.log или journalctl на ошибки sudo/PAM.
- Проверить состояние systemd-homed.service.
- Проверить целостность /etc/pam.d/*.
- Убедиться в доступности LDAP/AD при внешней аутентификации.
Критерии приёмки
- После действий пользователь успешно выполняет команду через sudo без ошибок.
- Нет новых сообщений об ошибках в логах аутентификации за последние 10 минут.
- Службы, связанные с авторизацией, находятся в состоянии active (systemctl is-active).
Тесты и требования приёмки
- В терминале запустить sudo whoami — ожидаемый результат: root.
- Повторить sudo после 15 минут — пароль не должен требоваться вновь до истечения timeout sudo (обычно 15 минут).
- При перезагрузке — вход и выполнение sudo без ошибок.
Короткий глоссарий
- sudo — утилита для выполнения команд от имени суперпользователя.
- PAM — Pluggable Authentication Modules, гибкая система аутентификации.
- systemd-homed — служба systemd для управления домашними директориями.
- TTY/virtual console — текстовая консоль вне графического окружения.
Важно: если вы не уверены в причинах, не меняйте конфигурационные файлы PAM без резервной копии. Восстановление доступа может потребовать загрузки в режим восстановления.
Краткое резюме
- Начните с выхода/перезагрузки сеанса и простой перезагрузки системы.
- Если не помогает — смените пароль из виртуальной консоли или перезапустите systemd-homed.
- Для более сложных проблем проверяйте логи, PAM и внешние системы аутентификации.
Ключевые действия для быстрого старта: logout → tty → passwd username → systemctl restart systemd-homed.service
Похожие материалы
Восстановление вкладок и сессии в Chrome и Firefox
Группы вкладок Safari на Mac: руководство
Журналы ошибок Chrome — включение и чтение
Расширения Chrome для нескольких сессий
Группы вкладок в Chrome на Android — создание и управление