Browse Source

When jail exists just run update

Jaap Marcus 2 years ago
parent
commit
5482117a81
2 changed files with 16 additions and 9 deletions
  1. 13 6
      bin/v-add-user-ssh-jail
  2. 3 3
      bin/v-delete-user-ssh-jail

+ 13 - 6
bin/v-add-user-ssh-jail

@@ -57,29 +57,36 @@ if [ -n "$user_str" ]; then
 	exit
 fi
 
+if [ ! -d "$chroot" ]; then
 add_chroot_jail "$user"
 
 # Add user to the ssh-jailed group to allow jailed ssh
 # This needs to be done first to make sure these groups are made available in the jail
-usermod -a -G ssh-jailed $user
+usermod -a -G ssh-jailed "$user"
 
 # Installing shell files into the user chroot directory
 # - IMPORTANT - MODIFY THE FOLLOWING LINES AND THE FILE jk_init.ini ACCORDING TO YOUR SYSTEM AND YOUR PREFERENCES
-/sbin/jk_init -f -j $chroot extendedshell netutils ssh sftp scp git php php5_6 php7_0 php7_1 php7_2 php7_3 php7_4 php8_0 php8_1 php8_2 > /dev/null 2>&1
-/sbin/jk_cp -f -j $chroot /bin/id > /dev/null 2>&1
+/sbin/jk_init -f -j "$chroot" extendedshell netutils ssh sftp scp git php php5_6 php7_0 php7_1 php7_2 php7_3 php7_4 php8_0 php8_1 php8_2 > /dev/null 2>&1
+/sbin/jk_cp -f -j "$chroot" /bin/id > /dev/null 2>&1
 
 # Jailing user to make sure passwd and groups are set correctly within the jail.
 # This command also does a little too much by changing the users homedir and
 # shell in /etc/passwd. The next commands reverts those changes for compatibility
 # with hestia.
-/sbin/jk_jailuser -n -s $shell_path -j $chroot $user
+/sbin/jk_jailuser -n -s "$shell_path" -j "$chroot" "$user"
 
 # Reset home directory and shell again for hestiacp because jailkit changes these.
 # Normally these are needed to redirect the ssh user to it's chroot but because we
 # use a custom sshd_config to redirect the user to it's chroot we don't need it to be
 # changed in /etc/passwd for the user.
-usermod -d /home/$user $user
-usermod -s $shell_path $user
+usermod -d "/home/$user" "$user" > /dev/null 2>&1
+usermod -s "$shell_path" "$user" > /dev/null 2>&1
+
+else
+	/sbin/jk_update -f -j "$chroot" > /dev/null 2>&1
+	usermod -d "/home/$user" "$user" > /dev/null 2>&1
+	usermod -s "$shell_path" "$user" > /dev/null 2>&1
+fi
 
 #----------------------------------------------------------#
 #                       Hestia                             #

+ 3 - 3
bin/v-delete-user-ssh-jail

@@ -45,15 +45,15 @@ user_shell_rssh_nologin=$(grep "^$user:" /etc/passwd | egrep "rssh|nologin")
 if [ -z "$user_shell_rssh_nologin" ]; then
 	# chown permissions back to user:user
 	if [ -d "/home/$user" ]; then
-		chown $user:$user /home/$user
+		chown "$user":"$user" "/home/$user"
 	fi
 
 	# Deleting chroot jail for SSH
-	delete_chroot_jail $user
+	delete_chroot_jail "$user"
 fi
 
 # Deleting user from groups
-gpasswd -d $user ssh-jailed > /dev/null 2>&1
+gpasswd -d "$user" ssh-jailed > /dev/null 2>&1
 
 #----------------------------------------------------------#
 #                       Hestia                             #