Explorar o código

Use internal user listing command

-Other minor fixes
Robert Zollner %!s(int64=6) %!d(string=hai) anos
pai
achega
3c98468111

+ 1 - 1
bin/v-add-fs-archive

@@ -15,7 +15,7 @@ if [ -z "$src0" ]; then
 fi
 
 # Checking hestia user
-if [ ! -e "$HESTIA/data/users/$user" ]; then
+if [ ! -d "$HESTIA/data/users/$user" ]; then
     echo "Error: hestia user $user doesn't exist"
     exit 3
 fi

+ 1 - 1
bin/v-add-fs-directory

@@ -14,7 +14,7 @@ if [ -z "$dst_dir" ]; then
 fi
 
 # Checking hestia user
-if [ ! -e "$HESTIA/data/users/$user" ]; then
+if [ ! -d "$HESTIA/data/users/$user" ]; then
     echo "Error: hestia user $user doesn't exist"
     exit 3
 fi

+ 1 - 1
bin/v-add-fs-file

@@ -14,7 +14,7 @@ if [ -z "$dst_file" ]; then
 fi
 
 # Checking hestia user
-if [ ! -e "$HESTIA/data/users/$user" ]; then
+if [ ! -d "$HESTIA/data/users/$user" ]; then
     echo "Error: hestia user $user doesn't exist"
     exit 3
 fi

+ 3 - 2
bin/v-add-sys-ip

@@ -94,6 +94,7 @@ if [ -z "$sys_ip_check" ]; then
             fi
             IFS='%'
             echo -e $sys_ip >> /etc/netplan/60-hestia.yaml
+            unset IFS
         else
             sys_ip="\n# Added by hestia"
             sys_ip="$sys_ip\nauto $iface"
@@ -192,8 +193,8 @@ fi
 increase_user_value "$user" '$IP_OWNED'
 if [ "$user" = 'admin' ]; then
     if [ "$ip_status" = 'shared' ]; then
-        for user in $(ls $HESTIA/data/users); do
-            increase_user_value "$user" '$IP_AVAIL'
+        for hestia_user in $($HESTIA/bin/v-list-sys-users plain); do
+            increase_user_value "$hestia_user" '$IP_AVAIL'
         done
     else
         increase_user_value 'admin' '$IP_AVAIL'

+ 1 - 1
bin/v-add-sys-quota

@@ -75,7 +75,7 @@ else
 fi
 
 # Rebuilding user quota
-for user in $(ls $HESTIA/data/users); do
+for user in $($HESTIA/bin/v-list-sys-users plain); do
     $BIN/v-update-user-quota $user
 done
 

+ 1 - 1
bin/v-backup-users

@@ -28,7 +28,7 @@ mysqlrepair --all-databases --check --auto-repair > /dev/null 2>&1
 if [ -z "$BACKUP_SYSTEM" ]; then
     exit
 fi
-for user in $(grep '@' /etc/passwd |cut -f1 -d:); do
+for user in $($HESTIA/bin/v-list-sys-users plain); do
     check_suspend=$(grep "SUSPENDED='no'" $HESTIA/data/users/$user/user.conf)
     log=$HESTIA/log/backup.log
     if [ ! -f "$HESTIA/data/users/$user/user.conf" ]; then

+ 1 - 1
bin/v-change-database-owner

@@ -32,7 +32,7 @@ is_object_unsuspended 'user' 'USER' "$user"
 
 # Check owner existance
 owner=$(echo $database | cut -f 1 -d '_')
-if [ ! -e "$HESTIA/data/users/$owner" ]; then
+if [ ! -d "$HESTIA/data/users/$owner" ]; then
     echo "Error: database owner doesn't exist"
     log_event "$E_NOTEXIST" "$ARGUMENTS"
     exit $E_NOTEXIST

+ 1 - 1
bin/v-change-fs-file-permission

@@ -15,7 +15,7 @@ if [ -z "$permissions" ]; then
 fi
 
 # Checking hestia user
-if [ ! -e "$HESTIA/data/users/$user" ]; then
+if [ ! -d "$HESTIA/data/users/$user" ]; then
     echo "Error: hestia user $user doesn't exist"
     exit 3
 fi

+ 5 - 5
bin/v-change-sys-ip-nat

@@ -53,8 +53,8 @@ fi
 
 # Updating WEB configs
 if [ ! -z "$old" ] && [ ! -z "$WEB_SYSTEM" ]; then
-    sed -i "s/$old/$new/" $HESTIA/data/users/*/web.conf
-    for user in $(ls $HESTIA/data/users/); do
+    for user in $($HESTIA/bin/v-list-sys-users plain); do
+        sed -i "s/$old/$new/" $HESTIA/data/users/$user/web.conf
         $BIN/v-rebuild-web-domains $user no
     done
     $BIN/v-restart-dns $restart
@@ -62,9 +62,9 @@ fi
 
 # Updating DNS configs
 if [ ! -z "$old" ] && [ ! -z "$DNS_SYSTEM" ]; then
-    sed -i "s/$old/$new/" $HESTIA/data/users/*/dns.conf
-    sed -i "s/$old/$new/" $HESTIA/data/users/*/dns/*.conf
-    for user in $(ls $HESTIA/data/users/); do
+    for user in $($HESTIA/bin/v-list-sys-users plain); do
+        sed -i "s/$old/$new/" $HESTIA/data/users/$user/dns.conf
+        sed -i "s/$old/$new/" $HESTIA/data/users/$user/dns/*.conf
         $BIN/v-rebuild-dns-domains $user no
     done
     $BIN/v-restart-dns $restart

+ 3 - 3
bin/v-change-sys-ip-owner

@@ -47,7 +47,7 @@ if [ "$ip_owner" != "$user" ]; then
     decrease_user_value "$ip_owner" '$IP_OWNED'
     if [ "$ip_owner" = 'admin' ]; then
         if [ "$ip_status" = 'shared' ]; then
-            for hestia_user in $(ls $HESTIA/data/users); do
+            for hestia_user in $($HESTIA/bin/v-list-sys-users plain); do
                 decrease_user_value "$hestia_user" '$IP_AVAIL'
             done
         else
@@ -61,8 +61,8 @@ if [ "$ip_owner" != "$user" ]; then
     increase_user_value "$user" '$IP_OWNED'
     if [ "$user" = 'admin' ]; then
         if [ "$ip_status" = 'shared' ]; then
-            for user in $(ls $HESTIA/data/users); do
-                increase_user_value "$user" '$IP_AVAIL'
+            for hestia_user in $($HESTIA/bin/v-list-sys-users plain); do
+                increase_user_value "$hestia_user" '$IP_AVAIL'
             done
         else
             increase_user_value 'admin' '$IP_AVAIL'

+ 1 - 1
bin/v-change-sys-language

@@ -52,7 +52,7 @@ fi
 
 # Update language for all existing users if specified
 if [ "$update_users" = "yes" ]; then
-    for user in $(ls $HESTIA/data/users); do
+    for user in $($HESTIA/bin/v-list-sys-users plain); do
         $BIN/v-change-user-language $user $language
     done
 fi

+ 3 - 3
bin/v-change-sys-webmail

@@ -29,7 +29,7 @@ check_hestia_demo_mode
 #----------------------------------------------------------#
 
 # Delete old webmail configuration
-for user in `ls /usr/local/hestia/data/users/`; do
+for user in $($HESTIA/bin/v-list-sys-users plain); do
     for domain in $($BIN/v-list-mail-domains $user plain |cut -f 1); do
         $BIN/v-delete-sys-webmail $user $domain
     done
@@ -39,7 +39,7 @@ done
 $BIN/v-change-sys-config-value 'WEBMAIL_ALIAS' $NEW_ALIAS
 
 # Add new webmail configuration
-for user in `ls /usr/local/hestia/data/users/`; do
+for user in $($HESTIA/bin/v-list-sys-users plain); do
     for domain in $($BIN/v-list-mail-domains $user plain |cut -f 1); do
         $BIN/v-add-sys-webmail $user $domain
     done
@@ -63,7 +63,7 @@ $BIN/v-restart-web $restart
 $BIN/v-restart-proxy $restart
 
 # Logging
-log_history "changed global webmail alias to $NEW_ALIAS"
+log_history "changed global webmail alias to $NEW_ALIAS" '' 'admin'
 log_event "$OK" "$ARGUMENTS"
 
 exit

+ 1 - 1
bin/v-check-fs-permission

@@ -14,7 +14,7 @@ if [ -z "$src" ]; then
 fi
 
 # Checking hestia user
-if [ ! -e "$HESTIA/data/users/$user" ]; then
+if [ ! -d "$HESTIA/data/users/$user" ]; then
     echo "Error: hestia user $user doesn't exist"
     exit 3
 fi

+ 1 - 1
bin/v-copy-fs-directory

@@ -15,7 +15,7 @@ if [ -z "$dst_dir" ]; then
 fi
 
 # Checking hestia user
-if [ ! -e "$HESTIA/data/users/$user" ]; then
+if [ ! -d "$HESTIA/data/users/$user" ]; then
     echo "Error: hestia user $user doesn't exist"
     exit 3
 fi

+ 1 - 1
bin/v-delete-fs-directory

@@ -15,7 +15,7 @@ if [ -z "$dst_dir" ]; then
 fi
 
 # Checking hestia user
-if [ ! -e "$HESTIA/data/users/$user" ]; then
+if [ ! -d "$HESTIA/data/users/$user" ]; then
     echo "Error: hestia user $user doesn't exist"
     exit 3
 fi

+ 1 - 1
bin/v-delete-fs-file

@@ -15,7 +15,7 @@ if [ -z "$dst_file" ]; then
 fi
 
 # Checking hestia user
-if [ ! -e "$HESTIA/data/users/$user" ]; then
+if [ ! -d "$HESTIA/data/users/$user" ]; then
     echo "Error: hestia user $user doesn't exist"
     exit 3
 fi

+ 5 - 3
bin/v-delete-sys-ip

@@ -128,9 +128,11 @@ fi
 
 if [ "$OWNER" = 'admin' ]; then
     if [ "$STATUS" = 'shared' ]; then
-        for user in $(ls $HESTIA/data/users/); do
-            decrease_user_value "$user" '$IP_AVAIL'
+        for hestia_user in $($HESTIA/bin/v-list-sys-users plain); do
+            decrease_user_value "$hestia_user" '$IP_AVAIL'
         done
+    else
+        decrease_user_value "$OWNER" '$IP_AVAIL'
     fi
 else
     decrease_user_value "$OWNER" '$IP_AVAIL'
@@ -152,7 +154,7 @@ if [ ! -z "$FIREWALL_SYSTEM" ]; then
 fi
 
 # Logging
-log_history "deleted system ip address $ip"
+log_history "deleted system ip address $ip" '' 'admin'
 log_event "$OK" "$ARGUMENTS"
 
 exit

+ 1 - 1
bin/v-extract-fs-archive

@@ -15,7 +15,7 @@ if [ -z "$dst_dir" ]; then
 fi
 
 # Checking hestia user
-if [ ! -e "$HESTIA/data/users/$user" ]; then
+if [ ! -d "$HESTIA/data/users/$user" ]; then
     echo "Error: hestia user $user doesn't exist"
     exit 3
 fi

+ 1 - 1
bin/v-get-fs-file-type

@@ -14,7 +14,7 @@ if [ -z "$path" ]; then
 fi
 
 # Checking hestia user
-if [ ! -e "$HESTIA/data/users/$user" ]; then
+if [ ! -d "$HESTIA/data/users/$user" ]; then
     echo "Error: hestia user $user doesn't exist"
     exit 3
 fi

+ 1 - 1
bin/v-list-fs-directory

@@ -14,7 +14,7 @@ if [ -z "$user" ]; then
 fi
 
 # Checking hestia user
-if [ ! -e "$HESTIA/data/users/$user" ]; then
+if [ ! -d "$HESTIA/data/users/$user" ]; then
     echo "Error: hestia user $user doesn't exist"
     exit 3
 fi

+ 1 - 1
bin/v-list-users-stats

@@ -122,7 +122,7 @@ check_args '0' "$#" '[FORMAT]'
 #----------------------------------------------------------#
 
 # Ensure statistics are up to date
-for user in $(ls $HESTIA/data/users); do
+for user in $($HESTIA/bin/v-list-sys-users plain); do
     $BIN/v-update-user-stats $user
 done
 

+ 1 - 1
bin/v-move-fs-directory

@@ -16,7 +16,7 @@ if [ -z "$dst_dir" ]; then
 fi
 
 # Checking hestia user
-if [ ! -e "$HESTIA/data/users/$user" ]; then
+if [ ! -d "$HESTIA/data/users/$user" ]; then
     echo "Error: hestia user $user doesn't exist"
     exit 3
 fi

+ 1 - 1
bin/v-move-fs-file

@@ -16,7 +16,7 @@ if [ -z "$dst_file" ]; then
 fi
 
 # Checking hestia user
-if [ ! -e "$HESTIA/data/users/$user" ]; then
+if [ ! -d "$HESTIA/data/users/$user" ]; then
     echo "Error: hestia user $user doesn't exist"
     exit 3
 fi

+ 1 - 1
bin/v-open-fs-config

@@ -13,7 +13,7 @@ if [ -z "$src_file" ]; then
 fi
 
 # Checking hestia user
-if [ ! -e "$HESTIA/data/users/$user" ]; then
+if [ ! -d "$HESTIA/data/users/$user" ]; then
     echo "Error: hestia user $user doesn't exist"
     exit 3
 fi

+ 1 - 1
bin/v-open-fs-file

@@ -14,7 +14,7 @@ if [ -z "$src_file" ]; then
 fi
 
 # Checking hestia user
-if [ ! -e "$HESTIA/data/users/$user" ]; then
+if [ ! -d "$HESTIA/data/users/$user" ]; then
     echo "Error: hestia user $user doesn't exist"
     exit 3
 fi

+ 1 - 1
bin/v-rebuild-users

@@ -35,7 +35,7 @@ is_object_unsuspended 'user' 'USER' "$user"
 #----------------------------------------------------------#
 
 # Rebuild loop
-for user in $($BIN/v-list-users plain |cut -f 1); do
+for user in $($HESTIA/bin/v-list-sys-users plain); do
     $BIN/v-rebuild-user $user
 done
 

+ 1 - 1
bin/v-search-fs-object

@@ -15,7 +15,7 @@ if [ -z "$object" ]; then
 fi
 
 # Checking hestia user
-if [ ! -e "$HESTIA/data/users/$user" ]; then
+if [ ! -d "$HESTIA/data/users/$user" ]; then
     echo "Error: hestia user $user doesn't exist"
     exit 3
 fi

+ 2 - 2
bin/v-search-object

@@ -84,7 +84,7 @@ OLD_IFS=$IFS
 IFS=$'\n'
 
 # User loop
-for user in $(ls $HESTIA/data/users/); do
+for user in $($HESTIA/bin/v-list-sys-users plain); do
     # Search query
     search=$(grep "$object" \
         $HESTIA/data/users/$user/web.conf \
@@ -242,7 +242,7 @@ case $format in
     json)   json_list_search ;;
     plain)  nohead=1; shell_list_search ;;
     shell)  fields='$USER~$TYPE~$KEY~$RESULT~$ALIAS';
-            shell_list |column -t -s '~' ;;
+            shell_list_search |column -t -s '~' ;;
     *)      check_args '1' '0' 'OBJECT [FORMAT]'
 esac
 

+ 1 - 1
bin/v-update-letsencrypt-ssl

@@ -26,7 +26,7 @@ source $HESTIA/conf/hestia.conf
 lecounter=0
 
 # Checking user certificates
-for user in $($BIN/v-list-users plain |cut -f 1); do
+for user in $($HESTIA/bin/v-list-sys-users plain); do
     USER_DATA=$HESTIA/data/users/$user
 
     for domain in $(search_objects 'web' 'LETSENCRYPT' 'yes' 'DOMAIN'); do

+ 1 - 1
bin/v-update-mail-templates

@@ -25,7 +25,7 @@ cp -rf $HESTIA_INSTALL_DIR/templates/mail $HESTIA/data/templates/
 
 # Rebuild mail domains if mail services are enabled
 if [ ! -z $MAIL_SYSTEM ]; then
-	for user in $($BIN/v-list-sys-users plain); do
+	for user in $($HESTIA/bin/v-list-sys-users plain); do
 		$BIN/v-rebuild-mail-domains $user no
 	done
 fi

+ 2 - 2
bin/v-update-sys-ip

@@ -63,7 +63,7 @@ if [ ! -z "$new" ]; then
             mv $old.conf $new.conf
             sed -i "s/$old/$new/g" $new.conf
         fi
-        for user in $(ls $HESTIA/data/users/); do
+        for user in $($HESTIA/bin/v-list-sys-users plain); do
             sed -i "s/$old/$new/g" $HESTIA/data/users/$user/web.conf
             $BIN/v-rebuild-web-domains $user no
         done
@@ -73,7 +73,7 @@ if [ ! -z "$new" ]; then
 
     # Updating DNS
     if [ ! -z "$DNS_SYSTEM" ]; then
-        for user in `ls /usr/local/hestia/data/users/`; do
+        for user in $($HESTIA/bin/v-list-sys-users plain); do
             sed -i "s/$old/$new/g" $HESTIA/data/users/$user/dns.conf
             sed -i "s/$old/$new/g" $HESTIA/data/users/$user/dns/*.conf
             $BIN/v-rebuild-dns-domains $user no

+ 2 - 2
bin/v-update-user-counters

@@ -34,7 +34,7 @@ fi
 
 # Creating user_list
 if [ -z "$user" ]; then
-    user_list=$(ls $HESTIA/data/users)
+    user_list=$($HESTIA/bin/v-list-sys-users plain)
 else
     user_list="$user"
 fi
@@ -82,7 +82,7 @@ for user in $user_list; do
     if [ "$user" = 'admin' ]; then
         spnd=$(grep "SUSPENDED='yes'" $HESTIA/data/users/*/user.conf | wc -l)
         SUSPENDED_USERS=$spnd
-        U_USERS=$(ls $HESTIA/data/users/|wc -l)
+        U_USERS=$($HESTIA/bin/v-list-sys-users plain|wc -l)
     fi
 
     # Checking ip

+ 1 - 1
bin/v-update-user-package

@@ -30,7 +30,7 @@ is_package_valid
 #                       Action                             #
 #----------------------------------------------------------#
 
-for user in $(ls $HESTIA/data/users); do
+for user in $($HESTIA/bin/v-list-sys-users plain); do
     check_package=$(grep "PACKAGE='$package'" $USER_DATA/$user/user.conf)
     if [ ! -z "$check_package" ]; then
         $BIN/v-change-user-package $user $package 'yes'

+ 1 - 1
bin/v-update-user-stats

@@ -39,7 +39,7 @@ fi
 
 # Creating user_list
 if [ -z "$user" ]; then
-    user_list=$(grep '@' /etc/passwd |cut -f1 -d:)
+    user_list=$($HESTIA/bin/v-list-sys-users plain)
 else
     user_list="$user"
 fi

+ 1 - 1
func/upgrade.sh

@@ -198,7 +198,7 @@ upgrade_set_version() {
 }
 
 upgrade_rebuild_users() {
-    for user in `ls /usr/local/hestia/data/users/`; do
+    for user in $($HESTIA/bin/v-list-sys-users plain); do
         echo "(*) Rebuilding domains and account for user: $user..."
         if [ ! -z "$WEB_SYSTEM" ]; then
             $BIN/v-rebuild-web-domains $user 'no' >/dev/null 2>&1