Назад | Перейти на главную страницу

Недетерминированное поведение `sudo`

У меня довольно странная проблема с 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 Вот.