So I upgraded my Ubuntu Server to 12.04 LTS today and now VSFTPD wont work. I think it is related to this VSFTPd stopped working after update
However, unlike the asker in that post, I am not getting any error messages. When I log on, I get
220 (vsFTPd 2.3.5)
331 Please specify the password.
Password:
530 Login incorrect.
ftp: Login failed
I know the password is correct,and I have tried multiple users. vsftpd.log shows nothing other than:
Tue May 1 15:19:48 2012 [pid 2] CONNECT: Client "192.168.1.133"
Tue May 1 15:19:53 2012 [pid 1] [USERNAME] FAIL LOGIN: Client "192.168.1.133"
Syslog shows nothing. Here is my VSFTPD.conf (mostly default):
listen=YES
anonymous_enable=NO
local_enable=YES
check_shell=NO
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
I tried the command mentioned in the previous question to no avail.
sudo chmod a-w /home/user
Thanks, I appreciate all your help!
In vsftpd.conf
Make the following change : pam_service_name=ftp
Save your change and restart the ftp server.
There are several Reason why you may get this reason.
Firewall-->>Tcp_wrapper-->>PAM-->>SElinux-->>FTPService-->> File.
First Check if the given user is blocked or not in /etc/vsftpd/ftpusers /etc/vsftpd/user_list
Check SElinux Context or Boolean for the Same.
Check in PAM directory file. /etc/pam.d/vsftpd
auth required pam_shells.so
if user is not having required shell like in /etc/shells then it will give same error check getent passwd username match given shell with /etc/shells.
Try to first login to the FTP through firefox or a browser, so you are sure to get a response why you are not able to log in.
This is just as a precausion to confirm if it is the login credentials itself or not.
If running an amd64 kernel, you will need to add the following to your
/etc/vsftpd/vsftpd.conf
It seems that current pam configuration for vsftp includes a requirement to have a valid shell something you want to avoid in case of an FTP user.
The only thing you have to do is to comment last line auth required pam_shells.so. So this is no required.
Or add a login to all your ftp users.
Changing the name as suggested in the other comment is no point as you loose the deny file.