vsftpd: 530 Login incorrect
I can't get vsfptd
working on Ubuntu 12.04.
my vsftpd.conf
file looks like this, and I try to connect with a local user:
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
Error message in FileZilla:
Response: 331 Please specify the password.
Command: PASS ****
Response: 530 Login incorrect.
Back up the config file before making a change;
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.back
and then edit vsftpd.conf (with vi or nano)
nano /etc/vsftpd.conf
Then make the following change
pam_service_name=ftp
Save your change and restart the ftp server (if you use nano hit CTRL+O & enter to save then CTRL+X to exit)
sudo service vsftpd restart
Source: VSFTPD configuration problems with 12.04
By default vsFTPd uses the file /etc/pam.d/vsftpd
.
This file by default requires FTP users to have a shell listed in /etc/shells
and requires them not to be listed in /etc/ftpusers
.
If you check those 2 things your probably find what the problem is.
I did not need to change the vsftpd.conf
. Only needed to make sure that a shell was set in my /etc/passwd
file, that also was lited in /etc/shells
.
So basically after useradd
without a shell I needed to make sure the home directory was created and that the user had /bin/bash
as it's shell.
I met this problem when I tried to login in with root
and I just solved it.
vsftpd: version 3.0.2
Solution:
Check the following file (it contains list of users disallowed FTP access):
/etc/ftpusers
In my case, I commented out root
from the file, then it worked.
Please make some changes in /etc/vsftpd.conf
:
pam_service_name=ftp
If you want to set access by default /var/www
directory for local user you can do that with below line:
local_root=/var/www
Now save and exit.
Restart vsftpd
server using:
sudo service vsftpd restart