모든 SELinux 컨텍스트를 영구적으로 만들기

모든 SELinux 컨텍스트를 영구적으로 만들기

최근에 -ing 을 많이 했는데 chcon, 제가 제대로 이해했다면 다음번 태그 재지정 시 삭제하겠습니다. 현재 컨텍스트(바람직하게는 일부 디렉터리)를 영구적으로 만드는 방법이 있습니까? 를 사용하여 이를 수행할 수 있는 방법이 있다는 것을 알고 있지만 semanage이는 돌아가서 각 파일의 컨텍스트를 확인하고 호출하여 semanage규칙을 설정하는 것을 의미합니다. 그렇다면 이를 수행하는 자동화된 방법이 있습니까?

답변1

먼저 semanage fcontext -a -t <type> <filepattern>파일 변경 사항을 정책에 추가하여 영구적으로 만드는 문제를 수정했습니다. restorecon -R -v <filepattern>해당 변경 사항을 다시 표시하거나 적용해야 합니다. chcon정책은 변경되지 않고 디스크 컨텍스트만 변경됩니다.

다음 명령을 사용하여 표시 정책과의 차이점 목록을 생성할 수 있습니다.matchpathcon, 구체적으로:

matchpathcon -V /path/to/file

불행하게도 트리를 순회하는 데 비용이 많이 들기 때문에 재귀 옵션이 없지만 다음을 사용하여 실행할 수 있습니다.

find / -exec matchpathcon -V {} \;

하지만 조심하세요. 나는 find가 문제를 일으킬 수 있는 확장 속성(xattrs)이 없는 마운트를 포함하여 모든 파일 시스템 마운트를 탐색할 것이라고 믿습니다. 물론, 모든 파일 시스템이 확장 속성을 갖고 있다면 문제가 없을 것이다.

이 목록이 있으면 원하는 항목을 선택하는 스크립트를 작성할 수 있습니다 semanage. 그러나 나는 이 작업을 한 번에 수행하는 자동화된 방법을 알지 못합니다.

답변2

matchpathconwith를 사용하면 find매우 느립니다. 왜 그것을 사용하지 않습니까 restorecon?

restorecon -rnv /path/to/dir

이러한 플래그는 재귀적이고 불변이며 상세합니다.

관련 정보