私が使用しているクラウドVPSプロバイダの1つは/ dataディスクにほとんどのストレージを提供するので、私のWebルート/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