Просмотр исходного кода

Prevent users rename directories in /home/user/web/ folder (#3211)

* Prevent users rename directories in /home/user/web/ folder

* Create /home/user/web/domain folder as root

* Add check if domain exists

* Improve chmod
Jaap Marcus 3 лет назад
Родитель
Сommit
96b6b563db
3 измененных файлов с 9 добавлено и 4 удалено
  1. 2 1
      bin/v-add-user
  2. 2 1
      bin/v-add-web-domain
  3. 5 2
      func/rebuild.sh

+ 2 - 1
bin/v-add-user

@@ -107,7 +107,8 @@ if [ -n "$WEB_SYSTEM" ]; then
 	mkdir $HOMEDIR/$user/conf/web $HOMEDIR/$user/web $HOMEDIR/$user/tmp
 	chmod 751 $HOMEDIR/$user/conf/web
 	chmod 700 $HOMEDIR/$user/tmp
-	chown $user:$user $HOMEDIR/$user/web $HOMEDIR/$user/tmp
+	chown $user:$user $HOMEDIR/$user/tmp
+	chown root:$user $HOMEDIR/$user/web/
 fi
 
 if [ -n "$MAIL_SYSTEM" ]; then

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

@@ -97,7 +97,8 @@ source_conf "$USER_DATA/user.conf"
 [[ -e "$HOMEDIR/$user/web/$domain" ]] && check_result "$E_EXISTS" "Web domain folder for $domain should not exist"
 
 # Creating domain directories
-$BIN/v-add-fs-directory "$user" "$HOMEDIR/$user/web/$domain"
+mkdir $HOMEDIR/$user/web/$domain
+chown $user:$user $HOMEDIR/$user/web/$domain
 $BIN/v-add-fs-directory "$user" "$HOMEDIR/$user/web/$domain/public_html"
 $BIN/v-add-fs-directory "$user" "$HOMEDIR/$user/web/$domain/document_errors"
 $BIN/v-add-fs-directory "$user" "$HOMEDIR/$user/web/$domain/cgi-bin"

+ 5 - 2
func/rebuild.sh

@@ -150,7 +150,7 @@ rebuild_user_conf() {
 		chmod 751 $HOMEDIR/$user/conf/web
 		chmod 751 $HOMEDIR/$user/web
 		chmod 771 $HOMEDIR/$user/tmp
-		chown --no-dereference $user:$user $HOMEDIR/$user/web
+		chown --no-dereference $root:$user $HOMEDIR/$user/web
 		if [ "$create_user" = "yes" ]; then
 			$BIN/v-rebuild-web-domains $user $restart
 		fi
@@ -251,7 +251,10 @@ rebuild_web_domain_conf() {
 		$BIN/v-delete-fs-directory "$user" "$HOMEDIR/$user/web/$domain/document_errors"
 	fi
 
-	$BIN/v-add-fs-directory "$user" "$HOMEDIR/$user/web/$domain"
+	if [ ! -d $HOMEDIR/$user/web/$domain ]; then
+		mkdir $HOMEDIR/$user/web/$domain
+	fi
+	chown --no-dereference $user:$user $HOMEDIR/$user/web/$domain
 	$BIN/v-add-fs-directory "$user" "$HOMEDIR/$user/web/$domain/public_html"
 	$BIN/v-add-fs-directory "$user" "$HOMEDIR/$user/web/$domain/document_errors"
 	$BIN/v-add-fs-directory "$user" "$HOMEDIR/$user/web/$domain/cgi-bin"