Parcourir la source

Check if an user already as sftp chroot was wrong (#2223)

* Check if an user already as sftp chroot was wrong

Causing new users to be not create as chroot

* remove echo

* Prevent new tests fails because users hasn't been delete propperly
Jaap Marcus il y a 4 ans
Parent
commit
3e1de0c255
2 fichiers modifiés avec 5 ajouts et 6 suppressions
  1. 3 5
      bin/v-add-user-sftp-jail
  2. 2 1
      test/test.bats

+ 3 - 5
bin/v-add-user-sftp-jail

@@ -30,15 +30,13 @@ source_conf "$HESTIA/conf/hestia.conf"
 
 
 check_args '1' "$#" 'USER'
 check_args '1' "$#" 'USER'
 is_format_valid 'user'
 is_format_valid 'user'
+# Limit to only Hestia user(s)
+is_object_valid 'user' 'USER' "$user"
 user_str=$(grep "^$user:" /etc/passwd |egrep "rssh|nologin")
 user_str=$(grep "^$user:" /etc/passwd |egrep "rssh|nologin")
 if [ -z "$user_str" ]; then
 if [ -z "$user_str" ]; then
     exit
     exit
 fi
 fi
 
 
-# Do not create chroot for syslog user
-if [ $user = "syslog" ]; then
-    exit
-fi
 
 
 # Get current users and split into array
 # Get current users and split into array
 ssh_users=$(grep -A1 "^# Hestia SFTP Chroot" /etc/ssh/sshd_config | sed -n 2p | sed 's/Match User //')
 ssh_users=$(grep -A1 "^# Hestia SFTP Chroot" /etc/ssh/sshd_config | sed -n 2p | sed 's/Match User //')
@@ -46,7 +44,7 @@ IFS=',' read -r -a users <<< "$ssh_users"
 
 
 match_string="$ssh_users,"
 match_string="$ssh_users,"
 # Check if jail exist
 # Check if jail exist
-if [[ ! "$match_string" =~ ,$user, ]]; then
+if [[ "$match_string" =~ ,$user, ]]; then
     if [[ -d /home/$user && -z "$(find /home/$user -user root -print -prune -o -prune)" ]]; then
     if [[ -d /home/$user && -z "$(find /home/$user -user root -print -prune -o -prune)" ]]; then
        chown root:root /home/$user
        chown root:root /home/$user
     fi
     fi

+ 2 - 1
test/test.bats

@@ -1326,7 +1326,8 @@ function check_ip_not_banned(){
     run v-add-web-domain $user2 $subdomain
     run v-add-web-domain $user2 $subdomain
     assert_success
     assert_success
     refute_output
     refute_output
-
+}
+@test "Allow Users: Delete user2" {
     run v-delete-user $user2
     run v-delete-user $user2
     assert_success
     assert_success
     refute_output
     refute_output