RHEL4 및 5를 대상으로 하는 RPM을 구축하려고 합니다. 지금 전화했는데 여러 Google 항목 chcon
에서 %post
"이것은 당신이 해야 할 일이 아닙니다"라고 말하지만 다음 질문에 대한 도움은 매우 제한적입니다.옳은방법. 나는 또한 fixfiles -R mypackage check
파일이 정확했는데 잘못되었다고 말하는 것을 발견했습니다(예상대로; RPM DB는 내가 원하는 것을 깨닫지 못했습니다).
나는 특히 RHEL4라고 말합니다.아니요이것은
semanage
올바른 접근법 중 하나인 것 같습니다. (새 정책을 추가하고 의restorecon
디렉터리에서 실행합니다%post
.)- 내 자신의 컨텍스트도 필요하지 않고
httpd_cache_t
비표준 디렉토리만 필요합니다.
- 내 자신의 컨텍스트도 필요하지 않고
"처리하자"도 본 적이 있습니다 . 그러나 루트가 아닌 RPM 빌드 사용자가 빌드 디렉터리에서 실행할
cpio
수 없는 새로운 문제에 직면했습니다 . 사양 파일에 뭔가를chcon
속여서sudo
추가했는데 별거 아닌 것 같습니다.
답변1
이것페도라 패키징 가이드패키지에서 SELinux를 처리하는 방법과 사용 방법을 설명하는 초안 문서가 있습니다 semanage
. 그렇지 않은 경우 semanage
RHEL 4를 지원하는 것이 어려울 것으로 보이며 이를 해결할 방법이 없습니다.
~에 따르면rpm 4.9.0 릴리스 노트, SELinux 정책 관리에 대한 일부 지원은 rpm에서 직접 제공되지만 역사적으로 이는 중단되었습니다.
- 이전 버전의 RPM은 SELinux 정책을 패킷 헤더에 추가하기 위한 사양에서 %policy 지시문을 지원했지만 실제로는 어떤 용도로도 사용되지 않았습니다. 사양에서 %policy 지시어를 사용하면 제거해야 합니다. 이 사용되지 않은 지시어는 RPM 4.9.0 이상으로 빌드하는 것을 방지하고 이전 버전에서는 아무 작업도 수행하지 않기 때문입니다.
- RPM 4.9.0부터 SELinux 정책 패키징은 사양의 새로운 %sepolicy 섹션을 통해 지원됩니다. 이러한 패키지는 빌드할 수 없지만 이전 RPM 버전에도 설치할 수 있습니다(그러나 포함된 정책은 어떤 방식으로도 사용되지 않습니다).
거기에는 파일 컨텍스트에 대한 언급이 없으며 직접 파일 컨텍스트 지원에 대한 언급도 찾을 수 없습니다(참고 자료 섹션 %attr
참조 %files
). 어쨌든 RHEL 6은 rpm 4.8.0만 지원하는 것 같습니다. 따라서 (뭔가 빠진 것이 없는 한) 이 semanage
경로는 적어도 RHEL 7까지는 할 수 있는 것입니다.