Restorecon은 Semanage를 사용하여 생성된 fcontext를 설정하지 않습니다.

Restorecon은 Semanage를 사용하여 생성된 fcontext를 설정하지 않습니다.

파일의 컨텍스트를 영구적으로 변경하는 방법에 대한 이해에 차이가 있다고 생각합니다. 읽고 나서https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html-single/selinux_users_and_administrators_guide/index#sect-Security-Enhanced_Linux-SELinux_Contexts_Labeling_Files-Percious_Changes_semanage_fcontext, 나는 파일에 대한 컨텍스트를 설정할 수 있어야 한다고 생각했고, 그런 다음 Restorecon은 해당 파일에 대한 selinux 정책 대신 이를 사용할 것입니다.

그러나 이 파일(내 홈 디렉터리에 있음)을 다음과 같이 기본 유형(상위 디렉터리에서 상속됨)으로 되돌리도록 설정하는 Restorecon을 볼 수 있습니다.

 ~> sudo semanage fcontext -C -l
SELinux fcontext                                   type               Context

pretenddir/pretendfile                             all files          system_u:object_r:samba_share_t:s0 
~> sudo restorecon pretenddir/
~> ls -Z pretenddir/
unconfined_u:object_r:user_home_t:s0 pretendfile
~> sudo chcon -v --type=samba_share_t pretenddir/pretendfile 
changing security context of 'pretenddir/pretendfile'
~> ls -Z pretenddir/
unconfined_u:object_r:samba_share_t:s0 pretendfile
~> sudo restorecon pretenddir/pretendfile
~> ls -Z pretenddir/
unconfined_u:object_r:user_home_t:s0 pretendfile

내가 무엇을 놓치고 있나요?

답변1

명령을 실행할 때 전체 경로를 사용하지 않습니다 semanage.

나는 이렇게 해야 한다:
# semanage fcontext -a -t samba_share_t /home/christy/pretenddir/pretendfile

바꾸다:
# semanage fcontext -a -t samba_share_t pretenddir/pretendfile

관련 정보