Password fails when using ProFTP

SYSTEM INFORMATION
OS type and version Rocky Linux 8.10
Webmin version 2.660
Virtualmin version 8.1.0 GPL
Webserver version Rocky Linux 8.10
Related packages ProFTP

When I try and login with FTP it fails on password. ProFTP log shows: (username hidden, but is correct)

mod delay/0.7: no DelayOnEvent rules configured with “DelayTable none” in effect, disabling module
FTP session opened.
USER xxxxxx (Login failed): Invalid shell: ‘/sbin/jk_chrootsh’
FTP session closed.

Login process on FTP Client (CuteFTP Pro)

	220 FTP Server ready.

STATUS:> Connected. Authenticating…
COMMAND:> USER xxxxxx
331 Password required for xxxxxx
COMMAND:> PASS *****
530 Login incorrect.
ERROR:> Not logged in.

Have you turned on Jailkit? Thats dosn’t seem like a password issue.

So, I think this error:

(Login failed): Invalid shell: ‘/sbin/jk_chrootsh’

Indicates that shell isn’t listed in /etc/shells, and ProFTPd is making sure the user is allowed to login based on whether the user has a valid shell (and, thus, is not a system account or some sort of non-interactive user that shouldn’t be logging in).

I’m pretty sure we add /sbin/jk_chrootsh to /etc/shells during installation, but maybe it got replaced in a system update or similar. Try adding it and see if the login works.

They’ve definitely turned on Jailkit, but that shouldn’t prevent ProFTPd logins from working. ProFTPd is not subject to the jail (it doesn’t run a shell, but it’s verifying the user is an actual interactive user allowed to login via FTP by checking the shell).

Sorted, the user was set for jk_chrootsh as its Shell in webmin:users

Yes, when you enable jailkit for a user, their shell must be jk_chrootsh. If you changed the shell to some other interactive shell (like /bin/sh or /bin/bash), you disabled the jail for that user and their ssh sessions will not be jailed (though ProFTPd can restrict a user to their home without jailkit or a chroot).

Just adding jk_chrootsh to /etc/shells should allow users with that shell to log in to ProFTPd.