[Ubuntu] vsftpd setup in Ubuntu

1. install vsftpd, the version here is 2.3.5

sudo apt-get install vsftpd


2. create a user as a ftp account

sudo mkdir /var/www/ftp
useradd –s /sbin/nologin –d /var/www/ftp ftpuser
passwd ftpuser
sudo chown –R ftpuser:ftpuser /var/www/ftp


3. modify the setting of vsftpd



4. after setting the configure of vsftpd, then use the ftp software to login.

then, then you will get these error: 

Status:    Connecting to
Status:    Connection established, waiting for welcome message...
Response:    220 (vsFTPd 2.3.5)
Command:    USER ftpuser
Response:    331 Please specify the password.
Command:    PASS ********
Response:    530 Login incorrect.

Why? i already set the correct username and password! 

Then i google it, someone said that it seems that i forgot to add some code as: 


but this setting exists by default of vsftpd!

And i also check to /etc/pam.d, there is also vsftpd file in it. Why i still fail to login ftp?


after minutes, as last i found out the solution.

Please review the code of creating user of step 2 below:

useradd –s /sbin/nologin –d /var/www/ftp ftpuser

this command is to set the ftpuser who can NOT login via ssh or other way, but in /etc/shells,

# /etc/shells: valid login shells

it does NOT exist /usr/sbin/nologin !

after adding the code /usr/sbin/nologin to /etc/shells, i resolved this problem! 




posted @ 2012-12-27 00:27 DavidHHuan 阅读(...) 评论(...) 编辑 收藏