"semanage fcontext ..." 명령을 통해 SELinux에 몇 가지 특정 컨텍스트를 추가했습니다. 이러한 스키마는 /etc/selinux/targetd/contexts/files/file_contexts.local에 저장됩니다.
다른 머신에서 동일한 권한을 얻고 싶거나 해당 머신에 운영 체제를 다시 설치해야 한다고 가정해 보겠습니다. file_contexts.local을 올바른 위치에 두는 것으로 충분할까요? SELinux 프로세스를 활성화하고 이 파일을 사용하기 위해 수행해야 하는 추가 단계가 있습니까?
운영 체제: RHEL 6.7
감사합니다!
답변1
/etc/selinux/targetd/contexts/files/file_contexts.local
파일을 복사하는 것 외에도 restorecon
해당 파일에서 참조되는 디렉터리 및 파일에 대해 명령을 실행 해야 합니다 /etc/selinux/targetd/contexts/files/file_contexts.local
.
이를 수행하는 쉬운 방법(SELinux 기본값에 의해 참조되는 시스템의 모든 파일에 대한 SELinux 컨텍스트도 설정함 /etc/selinux/targetd/contexts/files/file_contexts
)은 다음 명령을 실행하는 것입니다.
$ sudo restorecon -R /
노트: 이 플래그는 하위 디렉터리와 파일로 재귀하여 및 files 에 정의된 -R
대로 시스템에 있는 모든 파일의 컨텍스트를 복원한다는 의미입니다 .file_context
file_context.local
편집하다:Sourcejedi가 댓글에서 현명하게 지적했듯이. 전체 파일 시스템에서 실행하면 restorecon
이를 지원하지 않는 파일 시스템(예: 마운트된 드라이브 등)의 레이블을 변경하려고 시도할 수 있습니다. 이 문제를 방지하려면 이 명령을 사용할 수 있습니다 fixfiles restore
.
fixfiles
매뉴얼 페이지 에서 :
By default it will relabel all mounted ext2, ext3, xfs and jfs file systems as
long as they do not have a security context mount option. The file
/etc/selinux/fixfiles_exclude_dirs can contain a list of directories
excluded from relabeling.
fixfiles onboot
또한 다음 재부팅 시 다시 표시하는 데 사용할 수도 있습니다 .
마찬가지로 touch /.autorelabel && reboot
재부팅 중에 files/의 레이블이 다시 지정됩니다.