Centos
為許多標籤設置 SELinux 上下文的快速方法 - CentOS 8
我正在使用在 /data 磁碟上提供大部分儲存的雲 VPS 提供商之一,因此我的 webroot 位於
/data/www
而不是/var/www
. 並且有一個符號連結,因此 Apache 可以在預設配置下正常工作。我認為目標是複制所有規則
/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
這需要注意第一條規則。有沒有辦法快速做到?
您是否正在尋找替代品?來自
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