У меня есть несколько систем Fedora 27. Мне достаточно комфортно с SELinux. Я запускаю его на всех своих системах с отключенным "неограниченным" модулем.
В этой конкретной системе SELinux блокирует все команды "systemctl --user":
$ systemctl --user status
Failed to read server status: Access denied
Это работало до недавнего времени. Не знаю, что изменилось. я сделал обновился с Fedora 26 до Fedora 27 недавно, но я не думаю, что сроки совпадают с этой проблемой.
Что меня смущает и мешает понять, что делать дальше, так это то, что в auditd вообще ничего нет.
В системном журнале я получаю:
Dec 25 09:48:07 jukni systemd[669]: selinux: avc: denied { status } for auid=n/a uid=1086 gid=1086 cmdline="" scontext=staff_u:staff_r:staff_t:s0-s0:c0.c1023 tcontext=staff_u:staff_r:staff_t:s0-s0:c0.c1023 tclass=system permissive=0
Далее это:
$ systemctl --user restart lojban_mediawiki_web
Failed to restart lojban_mediawiki_web.service: Access denied
See user logs and 'systemctl --user status lojban_mediawiki_web.service' for details.
Выдает это в системном журнале:
Dec 25 09:49:06 jukni systemd[669]: selinux: avc: denied { start } for auid=n/a uid=1086 gid=1086 path="/home/sampre_mw/.config/systemd/user/lojban_mediawiki_web.service" cmdline="" scontext=staff_u:staff_r:staff_t:s0-s0:c0.c1023 tcontext=staff_u:object_r:systemd_unit_file_t:s0 tclass=service permissive=0
Я не могу найти в поиске ничего о self: system, и все, что я могу найти в https://github.com/TresysTechnology/refpolicy.git или https://github.com/TresysTechnology/refpolicy-contrib.git является:
policy/modules/kernel/kernel.te
481: allow can_load_kernmodule self:system module_load;
policy/modules/system/init.te
225: allow init_t self:system { status reboot halt reload };
В других моих подобных системах этой проблемы нет. Перезагрузка перезагрузки не помогла. Контексты файлов пользовательских модулей:
$ ls -lZ ~/.config/systemd/user/
total 8
drwxr-xr-x. 2 sampre sampre staff_u:object_r:user_home_t:s0 66 Feb 6 2017 default.target.wants
-rw-rw-r--. 1 sampre sampre staff_u:object_r:user_home_t:s0 417 Jul 14 00:32 jbotcan_database.service
-rw-rw-r--. 1 sampre sampre staff_u:object_r:user_home_t:s0 419 Jul 14 00:32 jbotcan_site.service
, что я понятия не имею, правильно это или нет.
Изменение логина этого пользователя на sysadm_u или user_u тоже не помогло.
Я понятия не имею, куда идти дальше. Я имею в виду, что я мог бы создать специальный модуль для реализации AVC, которые собираются в syslog, но это похоже на The Wrong Thing (tm), поскольку очевидно, что ОС не поставлялась без этой работы.
Добавлено:
$ cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
Добавлено # 2:
Я перезагрузил один из своих других ящиков Fedora 27 и:
Jan 5 23:31:38 vrici systemd[5992]: selinux: avc: denied { status } for auid=n/a uid=1000 gid=1000 cmdline="" scontext=staff_u:staff_r:staff_t:s0-s0:c0.c1023 tcontext=staff_u:staff_r:staff_t:s0-s0:c0.c1023 tcla
ss = системное разрешение = 0
что делает его больше похожим на ошибку с systemd или selinux.
Я думаю, вам нужно перейти на sysadm_r
роль, может попробовать:
sudo -u <your_user> -r sysadm_r -t sysadm_t systemctl --user status
?
Это действительно может быть ошибкой в политике, пользователи должны иметь возможность управлять своими собственными сервисами IMVHO (по сравнению с системными). Я думаю, вам следует сообщить об этом в Fedora selinux-policy
пакет.
Кроме того, вы пытались переименовать файловую систему с помощью restorecon -RFv /
? Это заставит (-F) сбросить дополнительный идентификатор.