Browse Source

Return error on user createtion failure

When aditional password enforcements are in place Hestia didn't output an error message
Jaap Marcus 5 years ago
parent
commit
d9ff24dcb0
4 changed files with 27 additions and 0 deletions
  1. 7 0
      bin/v-add-user
  2. 8 0
      bin/v-add-web-domain-ftp
  3. 6 0
      bin/v-change-user-password
  4. 6 0
      bin/v-change-web-domain-ftp-password

+ 7 - 0
bin/v-add-user

@@ -62,6 +62,13 @@ check_result $? "user creation failed" $E_INVALID
 # Adding password
 # Adding password
 echo "$user:$password" | /usr/sbin/chpasswd
 echo "$user:$password" | /usr/sbin/chpasswd
 
 
+if [ $? -ne 0 ]; then 
+    # Delete user on failure again
+    /usr/sbin/deluser "$user"
+    echo "Error: Password not accepted by PAM requirements"
+    exit 2
+fi
+
 # Add a general group for normal users created by Hestia
 # Add a general group for normal users created by Hestia
 if [ -z "$(grep ^hestia-users: /etc/group)" ]; then
 if [ -z "$(grep ^hestia-users: /etc/group)" ]; then
     groupadd --system "hestia-users"
     groupadd --system "hestia-users"

+ 8 - 0
bin/v-add-web-domain-ftp

@@ -93,6 +93,14 @@ fi
 
 
 # Set ftp user password
 # Set ftp user password
 echo "$ftp_user:$password" | /usr/sbin/chpasswd
 echo "$ftp_user:$password" | /usr/sbin/chpasswd
+
+if [ $? -ne 0 ]; then 
+    # Delete user on failure again
+    /usr/sbin/deluser "$ftp_user"
+    echo "Error: Password not accepted by PAM"
+    exit 2
+fi
+
 ftp_md5=$(awk -v user=$ftp_user -F : 'user == $1 {print $2}' /etc/shadow)
 ftp_md5=$(awk -v user=$ftp_user -F : 'user == $1 {print $2}' /etc/shadow)
 
 
 # Adding jailed sftp env
 # Adding jailed sftp env

+ 6 - 0
bin/v-change-user-password

@@ -47,6 +47,12 @@ check_hestia_demo_mode
 
 
 # Changing user password
 # Changing user password
 echo "$user:$password" | /usr/sbin/chpasswd
 echo "$user:$password" | /usr/sbin/chpasswd
+
+if [ $? -ne 0 ]; then 
+    echo "Error: Password not changed due to PAM requirements"
+    exit 2
+fi
+
 md5=$(awk -v user=$user -F : 'user == $1 {print $2}' /etc/shadow)
 md5=$(awk -v user=$user -F : 'user == $1 {print $2}' /etc/shadow)
 
 
 if [ "$user" = 'admin' ] && [ -e "$HESTIA/web/reset.admin" ]; then
 if [ "$user" = 'admin' ] && [ -e "$HESTIA/web/reset.admin" ]; then

+ 6 - 0
bin/v-change-web-domain-ftp-password

@@ -56,6 +56,12 @@ check_hestia_demo_mode
 
 
 # Changing ftp user password
 # Changing ftp user password
 echo "$ftp_user:$password" | /usr/sbin/chpasswd
 echo "$ftp_user:$password" | /usr/sbin/chpasswd
+
+if [ $? -ne 0 ]; then 
+    echo "Error: Password not changed due to PAM requirements"
+    exit 2
+fi
+
 ftp_md5=$(awk -v user=$ftp_user -F : 'user == $1 {print $2}' /etc/shadow)
 ftp_md5=$(awk -v user=$ftp_user -F : 'user == $1 {print $2}' /etc/shadow)