Por que o SELinux está bloqueando comandos de instância do usuário systemctl --user / systemd?

1

Eu tenho vários sistemas Fedora 27. Estou razoavelmente confortável com o SELinux. Eu o executo em todos os meus sistemas, com o módulo "unconfined" desabilitado.

Neste sistema em particular, o SELinux está bloqueando todos os comandos "systemctl --user":

$ systemctl --user status
Failed to read server status: Access denied

Isso funcionou até recentemente. Eu não sei o que mudou. Eu fiz atualização do Fedora 26 para o Fedora 27 recentemente, mas o tempo não é o mesmo que esse problema, eu não acho.

A parte que está me incomodando, e tornando difícil saber o que fazer a seguir, é que não há nada sobre isso em auditoria.

No syslog eu recebo:

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

Além disso, isso:

$ 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.

Dá isso no syslog:

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

Não consigo encontrar nada em sesearch sobre self: system e tudo o que posso encontrar no link ou O link é:

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 };

Meus outros sistemas similares não têm esse problema. Reinicialização de uma etiqueta não ajudou. Os contextos dos arquivos da unidade do usuário são:

$ 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

, que não tenho ideia se está correto ou não.

Alterar o login deste usuário para sysadm_u ou user_u também não ajudou.

Eu não tenho ideia de onde ir até aqui. Quer dizer, eu poderia fazer uma módulo personalizado para implementar os AVCs que vão para o syslog, mas que parece o The Wrong Thing (tm), já que claramente o sistema operacional não navio sem este trabalho.

Adicionado:

$ 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

Adicionado # 2:

Eu agora reiniciei uma das minhas outras caixas do Fedora 27 e:

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 = sistema permissivo = 0

que faz parecer muito mais um bug com systemd ou selinux.

    
por rlpowell 05.01.2018 / 02:32

1 resposta

0

Acho que você precisa mudar para a função sysadm_r , talvez tente:

sudo -u <your_user> -r sysadm_r -t sysadm_t systemctl --user status ?

Isso pode realmente ser um bug na política, os usuários devem ser capazes de gerenciar seus próprios serviços IMVHO (em comparação com os do sistema). Eu acho que você deve reportar isso ao fedora selinux-policy package.

Além disso, você tentou renomear o sistema de arquivos com restorecon -RFv / ? Isso forçará (-F) algum identificador extra a ser redefinido.

    
por 13.01.2018 / 14:11