Jelajahi Sumber

Fix public_(s)html ownership

Fixes #866, Fixes #792

Thanks @drsdre
Robert Zollner 5 tahun lalu
induk
melakukan
83cebba956
3 mengubah file dengan 16 tambahan dan 0 penghapusan
  1. 1 0
      bin/v-add-web-domain
  2. 3 0
      func/rebuild.sh
  3. 12 0
      install/upgrade/versions/latest.sh

+ 1 - 0
bin/v-add-web-domain

@@ -95,6 +95,7 @@ chmod 640 /var/log/$WEB_SYSTEM/domains/$domain.*
 chmod 751 $HOMEDIR/$user/web/$domain $HOMEDIR/$user/web/$domain/*
 chmod 551 $HOMEDIR/$user/web/$domain/stats $HOMEDIR/$user/web/$domain/logs
 chmod 644 $HOMEDIR/$user/web/$domain/public_*html/*
+chown $user:www-data $HOMEDIR/$user/web/$domain/public_*html
 
 # Addding PHP-FPM backend
 if [ ! -z "$WEB_BACKEND" ]; then

+ 3 - 0
func/rebuild.sh

@@ -393,6 +393,9 @@ rebuild_web_domain_conf() {
                 $HOMEDIR/$user/web/$domain/public_shtml \
                 $HOMEDIR/$user/web/$domain/document_errors
     chmod 640 /var/log/$WEB_SYSTEM/domains/$domain.*
+
+    chown $user:www-data $HOMEDIR/$user/web/$domain/public_html \
+                $HOMEDIR/$user/web/$domain/public_shtml
 }
 
 # DNS domain rebuild

+ 12 - 0
install/upgrade/versions/latest.sh

@@ -106,3 +106,15 @@ if [ -f "/etc/nginx/nginx.conf" ]; then
         sed -i '/^pid/ a include /etc/nginx/modules-enabled/*.conf;' /etc/nginx/nginx.conf
     fi
 fi
+
+# Fix public_(s)html group ownership
+echo "(*) Updating public_(s)html ownership..."
+for user in $($HESTIA/bin/v-list-sys-users plain); do
+    # skip users with missing home folder
+    [[ -d /home/${user}/ ]] || continue
+
+    # skip users without web domains
+    [[ ls /home/${user}/web/*/public_*html >/dev/null 2>&1 ]] || continue
+
+    chown --silent --no-dereference :www-data /home/$user/web/*/public_*html
+done