Eu tenho um ThinkPad X220 Tablet, que tem um display twistable. A coleção thinkpad-scripts que escrevi com um amigo conecta-se ao evento de hardware (como root) e, em seguida, executa um script. Este é o arquivo do udev:
event=ibm/hotkey HKEY 00000080 0000500[9a]
action=/usr/bin/thinkpad-rotate-hook %e
O script chamado ( fonte completa ) chama o script do usuário como o usuário atualmente logado via sudo
da seguinte forma:
sudo -u $user -i env DISPLAY=:0.0 /usr/bin/thinkpad-rotate $set_to --via-hook
Isso vem funcionando bem no Ubuntu e no Arch Linux. No Fedora, no entanto, isso nunca funcionou. Olhando para o log do sistema, encontrei o seguinte:
audit[28666]: AVC avc: denied { setgid } for pid=28666 comm="sudo" capability=6 scontext=system_u:system_r:apmd_t:s0 tcontext=system_u:system_r:apmd_t:s0 tclass=capability permissive=0
Eu também enviei um relatório de erros ao meu próprio projeto para acompanhar o que tenho aprendi até agora.
Tanto quanto eu entendo o SELinux, agora preciso adicionar uma regra ao SELinux que permita que isso aconteça. Onde devo começar a ler para descobrir o que fazer?
Tags selinux