Sfoglia il codice sorgente

Allow for optional domain directory write permissions (#4109)

* evonet-domaindir-writable: rebuild.sh

* evonet-domaindir-writable: v-add-web-domain

* evonet-domaindir-writable: syshealth.sh

* evonet-domaindir-writable: v-add-web-domain: update comment

* evonet-domaindir-writable: rebuild.sh: update comment
Jaap Marcus 2 anni fa
parent
commit
9cb06c1599
3 ha cambiato i file con 16 aggiunte e 3 eliminazioni
  1. 6 1
      bin/v-add-web-domain
  2. 6 2
      func/rebuild.sh
  3. 4 0
      func/syshealth.sh

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

@@ -126,7 +126,12 @@ chmod 640 /var/log/$WEB_SYSTEM/domains/$domain.*
 user_exec chmod 751 $HOMEDIR/$user/web/$domain/*
 user_exec chmod 551 $HOMEDIR/$user/web/$domain/stats $HOMEDIR/$user/web/$domain/logs
 user_exec chmod 644 $HOMEDIR/$user/web/$domain/public_*html/*
-user_exec chmod 551 $HOMEDIR/$user/web/$domain
+
+# domain folder permissions: DOMAINDIR_WRITABLE: default-val:no source:hestia.conf
+DOMAINDIR_MODE=551
+if [ "$DOMAINDIR_WRITABLE" = 'yes' ]; then DOMAINDIR_MODE=751; fi
+
+user_exec chmod $DOMAINDIR_MODE $HOMEDIR/$user/web/$domain
 chown --no-dereference $user:www-data $HOMEDIR/$user/web/$domain/public_*html
 
 # Adding PHP-FPM backend

+ 6 - 2
func/rebuild.sh

@@ -459,9 +459,13 @@ rebuild_web_domain_conf() {
 		chgrp $user $htpasswd $htaccess
 	done
 
+	# domain folder permissions: DOMAINDIR_WRITABLE: default-val:no source:hestia.conf
+	DOMAINDIR_MODE=551
+	if [ "$DOMAINDIR_WRITABLE" = 'yes' ]; then DOMAINDIR_MODE=751; fi
+
 	# Set folder permissions
-	no_symlink_chmod 551 $HOMEDIR/$user/web/$domain \
-		$HOMEDIR/$user/web/$domain/stats \
+	no_symlink_chmod $DOMAINDIR_MODE $HOMEDIR/$user/web/$domain
+	no_symlink_chmod 551 $HOMEDIR/$user/web/$domain/stats \
 		$HOMEDIR/$user/web/$domain/logs
 	no_symlink_chmod 751 $HOMEDIR/$user/web/$domain/private \
 		$HOMEDIR/$user/web/$domain/cgi-bin \

+ 4 - 0
func/syshealth.sh

@@ -525,6 +525,10 @@ function syshealth_repair_system_config() {
 		echo "[ ! ] Adding missing variable to hestia.conf: POLICY_BACKUP_SUSPENDED_USERS ('no')"
 		$BIN/v-change-sys-config-value "POLICY_BACKUP_SUSPENDED_USERS" "no"
 	fi
+	if [[ -z $(check_key_exists 'DOMAINDIR_WRITABLE') ]]; then
+		echo "[ ! ] Adding missing variable to hestia.conf: DOMAINDIR_WRITABLE ('no')"
+		$BIN/v-change-sys-config-value "DOMAINDIR_WRITABLE" "no"
+	fi
 
 	touch $HESTIA/conf/hestia.conf.new
 	while IFS='= ' read -r lhs rhs; do