We updated an old server recently and the ProFTP server started throwing this error “530 Login incorrect” and wouldn’t let us in. We looked at the usual culprits, reset passwords, verified directories but nothing seemed to work.
We ran ProFTPD in debug mode like so, stop the ProFTPD service first:
service proftpd stop
Start ProFTPD in debug mode:
proftpd -n -d 20
This will hold your shell session, to quit or stop the service hit CTRL+C
You now need to try to connect to the server to see the errors it throws and this is what it spit out:
16:22:49,107 dispatching CMD command 'PASS (hidden)' to mod_auth 16:22:49,107 ROOT PRIVS at mod_auth_file.c:844 16:22:49,107 RELINQUISH PRIVS at mod_auth_file.c:847 16:22:49,107 mod_auth_file/1.0: using passwd file '/etc/proftpd/ftpd.passwd' 16:22:49,107 retrieved UID 1002 for user 'ftp-user' 16:22:49,107 ROOT PRIVS at mod_auth_file.c:609 16:22:49,107 RELINQUISH PRIVS at mod_auth_file.c:612 16:22:49,107 mod_auth_file/1.0: using group file '/etc/proftpd/ftpd.group' 16:22:49,107 retrieved group ID: 1002 16:22:49,107 retrieved group names: (None; corrupted group file?) 16:22:49,111 user 'ftp-user' authenticated by mod_auth_file.c 16:22:49,111 USER ftp-user (Login failed): Invalid shell: '/sbin/nologin' 16:22:49,111 dispatching POST_CMD_ERR command 'PASS (hidden)' to mod_vroot 16:22:49,111 mod_vroot/0.9.2: vroot unregistered 16:22:49,111 dispatching POST_CMD_ERR command 'PASS (hidden)' to mod_delay 16:22:49,115 dispatching LOG_CMD_ERR command 'PASS (hidden)' to mod_log 16:22:49,115 dispatching LOG_CMD_ERR command 'PASS (hidden)' to mod_auth 16:22:49,250 FTP session closed.
Found the culprit:
USER ftp-user (Login failed): Invalid shell: '/sbin/nologin'
To fix this you need to edit the proftpd.conf file located at /etc/proftpd.conf and add the following line to the top:
Kill the proftpd debug mode you started, hit CTRL+C and restart the proftpd service to start regular service:
service proftpd restart
Connect via your FTP client and it’ll work fine.