SELinux에서 "guix-daemon"을 "다시 마운트"하는 방법은 무엇입니까?

SELinux에서 "guix-daemon"을 "다시 마운트"하는 방법은 무엇입니까?

나는 가지고있다Guix가 설치됨그리고번들 SELinux 정책을 수동으로 설치. 하지만리카르도 울무스(Ricardo Ulmus)에 따르면, 2021년 6월 30일 기준:

실제로는 두 가지 방법만 있습니다. 1) SELinux를 비활성화하거나(또는 허용 모드로 설정) 2) Guix에 포함된 SELinux 데몬 정책을 설치/디버그/재설치합니다.

데몬 정책은아니요불완전한 것으로 알려진 바이너리 설치 방법을 사용하여 설치하십시오. Guix 소스 코드의 복사본을 구해 구성해야 합니다. 원하는 파일은 "etc/guix-daemon.cil"입니다. 디버깅하려면 이를 설치하고, SELinux를 허용 모드로 설정하고, 데몬을 실행하고, 감사 로그에서 오류를 확인해야 합니다.

하나 있다SElinux guix-daemon.cil 파일 관련 미해결 문제, 이는 내 설치와 함께 번들로 제공되는 파일에 병합된 것으로 보이는 패치를 나타냅니다.

알림에 표시된 조언을 따르면서 설치 setroubleshoot하고 계속 다시 시작했습니다 . guix-daemon.service데몬이 마침내 시작된 후:

$ sudo chcon -R -t guix_daemon.guix_daemon_conf_t /var/guix/
$ sudo chcon -R -t guix_daemon.guix_profiles_t /var/guix/profiles/per-user/root/current-guix
$ sudo chcon -R -t guix_daemon.guix_profiles_t /var/guix/profiles/per-user/root/current-guix-1-link

하지만 난 아직 계속할 수 없어설치하다glibc-locales:

$ guix install glibc-locales
hint: Consider installing the `glibc-utf8-locales' or `glibc-locales' package and defining `GUIX_LOCPATH', along these lines:

     guix install glibc-utf8-locales
     export GUIX_LOCPATH="$HOME/.guix-profile/lib/locale"

See the "Application Setup" section in the manual, for more info.

guix install: error: remounting /gnu/store writable: Permission denied

SELinux 진단 도구는 "파일 시스템"에 대한 "다시 마운트" 액세스가 허용되지 않음을 "guix-daemon"에 알리고 다음을 권장합니다.

# ausearch -c 'guix-daemon' --raw | audit2allow -M my-guixdaemon
# semodule -X 300 -i my-guixdaemon.pp

그러나 ausearch이와 관련하여 실패합니다.

$ sudo ausearch -c '(x-daemon)' --raw | audit2allow -M my-xdaemon
compilation failed:
libsepol.hierarchy_add_type_callback: guix_daemon doesn't exist, guix_daemon.guix_daemon_conf_t is an orphan
libsepol.hierarchy_add_bounds: 1 errors found while adding hierarchies

guix-daemonSELinux에서 파일 시스템 재마운트를 허용하는 방법은 무엇입니까 ?

답변1

허용 모드를 켜고 한동안 Guix를 사용했습니다. SELinux 지원은 아직 진행 중인 작업인 것 같습니다. setroubleshoot다양한 문제를 정기적으로 보고하세요. 허용 모드에서 SELinux와 함께 Guix를 실행하는 것이 현재로서는 유일한 실용적인 솔루션인 것 같습니다.

(허용 오차 모드를 영구적으로 켜기, 편집 /etc/selinux/config하고 다시 시작하세요. )

관련 정보