Fedora 24에서 실행하려고하는 서비스 / 단일 바이너리 앱을 작성했습니다 .systemd를 사용하여 실행되며 바이너리는 /srv/bot
내가 작성한이 서비스 / 앱은이 디렉토리에서 파일을 생성 / 열기 / 읽기 및 이름을 변경해야합니다.
먼저 SELinux를 기반으로 새 정책을 작성하기 시작했습니다 . 프로세스가 특정 디렉토리에 파일을 작성하도록 허용
그러나 내 앱의 이름을 바꿔야 할 때 출력에 경고가 표시되었습니다.
#!!!! WARNING: 'var_t' is a base type.
allow init_t var_t:file rename;
나는 주변을 둘러 보았고 기본 유형보다 더 구체적인 SELinux 레이블을 사용해야한다는 것을 알았지 만 온라인의 모든 예제는 httpd / nginx / etc의 기존 레이블을 보여줍니다.
내 앱에 대해서만 맞춤 라벨을 만들 수있는 방법이 있습니까?
내 생각은 myapp_var_t와 같은 것을 만드는 것입니다.
semanage fcontext -a -t my_app_var_t '/srv/bot(/.*)?'
restorecon -R -v /srv/bot
.pp
이 사용자 정의 유형을 사용할 사용자 정의 파일
그것을 해결하는 더 좋은 방법이 있다면 그것도 효과가 있습니다.
감사
최신 정보
주변을 더 검색 한 후 내가하고 싶은 것에 대한 적절한 용어는 https://docs.fedoraproject.org/en-US/Fedora/13/html/SELinux_FAQ/index.html#id3036916으로 연결types
되는 새로운 것을
만드는 것이라고 생각합니다.
기본적으로 실행
sepolgen /path/to/binary
그리고 pp 파일로 컴파일하고로드 할 수있는 템플릿을 얻을 수 있었지만 여전히 오류가 발생하지만 원하는 작업에 더 가깝습니다.
제대로 작동하면이 게시물을 업데이트하겠습니다.