내가 사용하는 클라우드 VPS 공급자 중 하나는 /data 디스크에 대부분의 저장소를 제공하므로 내 웹 루트 /data/www
는 /var/www
.
목표는 아래의 모든 규칙을 복사하여 로 변경하는 것을 /var/www
제외하고 동일한 규칙을 만드는 것이라고 생각합니다 . 빨리 할 수 있는 방법이 있나요?/var/www
/data/www
[~]$ sudo semanage fcontext -l | grep -i /var/www
/var/www(/.*)? all files system_u:object_r:httpd_sys_content_t:s0
/var/www(/.*)?/logs(/.*)? all files system_u:object_r:httpd_log_t:s0
/var/www/[^/]*/cgi-bin(/.*)? all files system_u:object_r:httpd_sys_script_exec_t:s0
/var/www/apcupsd/multimon\.cgi regular file system_u:object_r:apcupsd_cgi_script_exec_t:s0
... many more ...
나는 다음을 제공하여 하나씩 완료하는 방법만 알고 있습니다.
sudo semanage fcontext -a -t httpd_sys_content_t "/data/www(/.*)?"
sudo restorecon -R -v /data/www
이것은 규칙 1번을 처리합니다. 빨리 할 수 있는 방법이 있나요?
답변1
를 찾습니까바꾸다우연히? ~에서man semanage-fcontext
:
옵션
예
-e EQUAL
,--equal EQUAL
기본 라벨을 생성할 때 대상 경로를 소스 경로로 바꿉니다. 이것은 와 함께 사용됩니다
fcontext
. 소스 경로 및 대상 경로 매개변수가 필요합니다. 대상 하위 트리의 컨텍스트 레이블은 소스 하위 트리에서 정의된 컨텍스트 레이블과 동일합니다.
︙
파일 컨텍스트를 설정할 때/home1
다음으로 바꾸십시오./home
# semanage fcontext -a -e /home /home1 # restorecon -R -v /home1
데모:
mkdir -p /data/www2/html
touch /data/www2/html/foo
semanage fcontext -a -e /var/www /data/www2
restorecon -R /data/www2
ls -lhZ /data/www2/html/
-rw-r--r--. 1 root root unconfined_u:object_r:httpd_sys_content_t:s0 0 15. Jul 15:31 foo