У меня довольно странная проблема с sudo. По сути, он аутентифицируется, но иногда просто не запускает предоставленную команду. Например:
liori@marvin:~$ sudo whoami
root
liori@marvin:~$ sudo whoami
root
liori@marvin:~$ sudo whoami
liori@marvin:~$ sudo whoami
liori@marvin:~$ sudo whoami
liori@marvin:~$
Я написал тестовый пример, демонстрирующий эту проблему:
liori@marvin:~$ sudo whoami; for i in `seq 100`; do echo -n ':' ; sudo whoami ; done ; echo
root
::::::::::::root
:::::root
:::::root
:::::::::::root
::::::::::root
::::::::::::::::::::::::::::::::root
:::root
::::root
::::root
:::root
:::root
::root
:root
:::::
liori@marvin:~$
Конечно, ожидаемый результат - это серия строк, каждая из которых начинается ровно с одного символа двоеточия. Я не знаю, с чего начать отладку этой проблемы.
Для каждой попытки (независимо от того, была ли команда запущена на самом деле) я получаю запись в системном журнале:
Apr 11 19:47:40 marvin systemd-logind[806]: New session c1079 of user root.
Apr 11 19:47:40 marvin systemd-logind[806]: Removed session c1079.
Это Debian SID. Я начал наблюдать за этим поведением несколько дней назад, после более крупного обновления (я обновляю эту систему, возможно, раз в месяц) и после переноса системы с одного жесткого диска на другой (используя rsync -av --del
).
Любая помощь будет оценена по достоинству.
Ошибка уже устранена. Обходной путь:
В моем случае я изменил /etc/pam.d/login и /etc/pam.d/gdm3* и добавил строку
session required pam_loginuid.so
непосредственно перед @include common-session
(из ответа Майкла Библа)
Sid все еще нестабилен, возможно, это ошибка, я предлагаю вам отправить его в Debian Вот.