SELinux는 ACPI/udev 후크가 sudo를 사용하는 것을 금지합니다.

SELinux는 ACPI/udev 후크가 sudo를 사용하는 것을 금지합니다.

저는 회전식 디스플레이를 갖춘 ThinkPad X220 태블릿을 가지고 있습니다. 친구와 함께 작성한 thinkpad-scripts 컬렉션은 하드웨어 이벤트(루트로)에 연결되어 스크립트를 실행합니다. udev 파일은 다음과 같습니다.

event=ibm/hotkey HKEY 00000080 0000500[9a]
action=/usr/bin/thinkpad-rotate-hook %e

호출되는 스크립트(완전한 소스 코드) 그런 다음 현재 로그인된 사용자로 다음과 같이 사용자 스크립트를 호출합니다 sudo.

sudo -u $user -i env DISPLAY=:0.0 /usr/bin/thinkpad-rotate $set_to --via-hook

이것은 Ubuntu와 Arch Linux에서 잘 작동합니다. 그러나 Fedora에서는 이것이 작동하지 않았습니다. 시스템 로그를 살펴보면 다음과 같은 내용을 발견했습니다.

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

나는 또한오류 보고서내 프로젝트와 비교하여 지금까지 배운 내용을 추적해 보세요.

SELinux에 대해 내가 이해한 바에 따르면 이제 이러한 일이 발생하도록 SELinux에 규칙을 추가해야 합니다. 무엇을 해야 할지 알아보려면 어디서부터 읽어야 합니까?

관련 정보