Пример: keyctl add user kmk "`dd if=/dev/urandom bs=1 count=32 2>/dev/null`" @u 516875950 $ keyctl pipe `keyctl search @u user kmk` >$TMP/kmk keyctl_read_alloc: Permission denied Почему именно systemd? Потому что без него (в init=/bin/bash) работает нормально и см. URL. systemd-239-alt1.x86_64 В сизифе воспроизводится, несмотря на уверения в закрытии баги.
$systemctl show user-runtime-dir@500.service | grep KeyringMode KeyringMode=private $systemctl show user@500.service | grep KeyringMode KeyringMode=private
Если добавить -session optional pam_keyinit.so force revoke в /etc/pam.d/systemd-user или /etc/pam.d/common-login то Ваш пример начинает работать нормально. Надо решить куда правильнее эту строчку добавить.
(In reply to comment #1) > $systemctl show user-runtime-dir@500.service | grep KeyringMode > KeyringMode=private > > $systemctl show user@500.service | grep KeyringMode > KeyringMode=private Вот это где поменять на inherit? Просьба выставлять inherit по умолчанию в дистрибутивах - новое поведение ломает много софта.
Спасибо за решения проблем и информацию. Поведение systemd стало понятно.