seLinux를 사용하여 SELinux 레이블을 심볼릭 링크에 지정하여 레이블을 다시 붙인 후에 어떻게 유지합니까?


12

내 아파치 DocumentRoot / var / www는 다른 경로에 대한 심볼릭 링크입니다. 대상은 적절한 파일 컨텍스트 레이블 (httpd_sys_content_t)을 가지고있어 아파치가 SELinux를 활성화 한 상태에서 읽을 수 있습니다. 그러나 심볼릭 링크 자체 에는 var_t로 레이블이 지정됩니다.

[root@localhost var]# ls -lZ
lrwxrwxrwx. root root unconfined_u:object_r:var_t:s0 www -> /srv/www

httpd_sys_content_t로 심볼릭 링크의 레이블을 다시 지정해야합니다.

-h 옵션으로 chcon을 실행하면 처음에는 작동하는 것 같습니다.

[root@localhost var]# chcon -h -t httpd_sys_content_t /var/www
[root@localhost var]# ls -lZ
lrwxrwxrwx. root root unconfined_u:object_r:httpd_sys_content_t:s0 www -> /srv/www

그러나 이것은 레이블 변경 후에도 지속되지 않습니다.

[root@localhost var]# restorecon -Rv .
restorecon reset /var/www context system_u:object_r:httpd_sys_content_t:s0->syst
em_u:object_r:var_t:s0

semanage를 사용한다고해서 링크 자체의 레이블이 변경되지는 않습니다. 그냥 목표 :

[root@localhost var]# semanage fcontext -a -t httpd_sys_content_t /var/www
[root@localhost var]# restorecon -Rv .
[root@localhost var]# ls -lZ
lrwxrwxrwx. root root unconfined_u:object_r:var_t:s0 www -> /srv/www

semanage에는 -h 옵션이 없습니다.

relabel 후 httpd_sys_content_t로 유지되도록 링크 자체의 레이블을 설정하는 의미를 얻는 방법은 무엇입니까?


와우, 나는 이것에 대한 인기있는 질문 배지를 받았는데, 투표권이 없습니까?
Steven T. Snyder

답변:


10

나는 그것을 알아:

semanage에는 -f모드 필드에 표시된대로 파일 유형을 ls( d디렉토리, --일반 파일, l링크) 로 지정할 수 있는 옵션 이 있습니다 . 때 -f -l사용되며, 링크 자체를 대상으로합니다.

[root@localhost var]# semanage fcontext -f -l -a -t httpd_sys_content_t /var/www
[root@localhost var]# restorecon -Rv .
restorecon reset /var/www context system_u:object_r:var_t:s0->system_u:object_r:httpd_sys_content_t:s0

참고 항목 semanage-fcontextman 페이지를.


3
이 답변 -f -l은 그것이 쓰여졌을 때 유효한 구문이므로 올바르게 사용 됩니다. 최신 버전의 의미 (EL7)가 사용 -f l됩니다.
user9517
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.