ssh
. passwd
(что, я считаю, показывает, что это правильный пароль для моего пользователя). 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
Ладно, исправил, но я не знаю, с чем это вообще связано.
Проблема была из строки в /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 дал мне этот пост на форуме , который дал мне решение, выделенное выше.
Недавно я столкнулся с этой проблемой, и мне пришлось решать ее немного по-другому. Причина была очень похожа.
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
связанного.
В любом случае, было просто исправить проблему, когда я обнаружил проблему, но результат отладки был, конечно, довольно неясен.