Sudo больше не распознает мой пароль

  • Проблема происходит на удаленном сервере, поэтому все делается через ssh.
  • Я могу войти с помощью своего ключа, здесь нет проблем.
  • Я могу изменить свой пароль по желанию с помощью passwd (что, я считаю, показывает, что это правильный пароль для моего пользователя).
  • Мой пользователь находится в файле sudoers (я мог проверить с помощью pkexec cat /etc/sudoers и ввести пароль root)

Однако, войдя в систему как мой обычный пользователь, я не могу запустить sudo больше не командует, он просто говорит Sorry, try again, как будто пароль был набран неверно.

Я понятия не имею, что является причиной этого, я пытался изменить свой пароль, что я мог, но это не решает проблему sudo.

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.10
Release:        12.10
Codename:       quantal
1
задан 30 December 2013 в 21:08

2 ответа

Ладно, исправил, но я не знаю, с чем это вообще связано.

Проблема была из строки в /etc/pam.d/common-session-noninteractive

Она имела

session [success=1 default=ignore] pam_succeed_if.so service in cron 
quiet use_uid

И, похоже, что это на двух строках вместо одной полностью нарушало PAM. Я просто изменил его на

session [success=1 default=ignore] pam_succeed_if.so service in cron quiet use_uid

И теперь все возвращается к нормальной жизни.

Я должен поблагодарить @AaronD за его комментарий, так как он указал мне исследовать PAM, который я сначала не нашел ничего плохого (глядя на /etc/pam.d/sudo), но когда я посмотрел на /var/log/auth.log и заметил все ошибки PAM, которые я почувствовал Я копал в правильном направлении.

Запись в журнале выглядела следующим образом:

Dec 28 15:43:33 srv12120 sudo: PAM (sudo) illegal module type: quiet
Dec 28 15:43:33 srv12120 sudo: PAM pam_parse: expecting return value; [...use_uid]
Dec 28 15:43:33 srv12120 sudo: PAM (sudo) no module name supplied

Немного поиска в Google дал мне этот пост на форуме , который дал мне решение, выделенное выше.

0
ответ дан 30 December 2013 в 21:08
  • 1
    Это работало на меня на 16,04, Спасибо! – Prototype700 6 May 2016 в 22:08

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

1110 По сути, в моем случае, каким-то образом, /etc/pam.d/common-session-noninteractive слегка исказился довольно странным образом. Мой common-session-noninteractive выглядел так:

# since the modules above will each just jump around
session required                        pam_permit.so
# The pam_umask module will set the umask according to the system default in
# /etc/login.defs and user settings, solving the problem of different
# umask settings with different shells, display managers, remote sessions etc.
# See "man pam_umask".
session optional                        pam_umask.so
# and here are more per-package modules (the "Additional" block)
Dec 25 11:45:01 websrv CRON[44085]: pam_unix(cron:session): session opened for user root by (uid=0) session 
required                        pam_unix.so
# end of pam-auth-update config

Проблема заключается в тексте Dec 25 11:45:01 websrv CRON[44085]: pam_unix(cron:session): session opened for user root by (uid=0), который, очевидно, каким-то образом был вставлен в файл конфигурации pam.

Мое предположение здесь, и я действительно, действительно догадываюсь, состоит в том, что скрипт модифицировал этот файл из tty, каким-то образом привязанным к журналу аутентификации ядра, и он случайно cat ed или echo редактировал текст в файл. Я никогда не касался ничего pam связанного.

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

0
ответ дан 30 December 2013 в 21:08

Другие вопросы по тегам:

Похожие вопросы: