环境配置:
用户名密码:ftp1/123456
系统:ubuntu14.04TLS
一、安装
如果是ubuntu环境下的话,安装是很简单的,只需输入如下命令:
#sudo apt-get install vsftpd
安装完成后可以察看下服务状态(其实安装完成了就会提示已经在跑了)
#sudo service vsftpd status
二、添加用户#groupadd ftp#useradd -g ftp -d /home/ftp1 -m ftp1 d:指定家目录 g:指定组 m:不存在目录时自动创建家目录#sudo passwd ftp1 (123456)#usermod -s /sbin/nologin ftp1三、修改配置文件
1. /etc/vsftp.conf(主配置文件)
2. /etc/vsftp.chroot_list(可访问用户列表)
3. /etc/pam.d/vsftpd(里面有个选项需要修改,这个需要简单配置一下,否则会出现“530 login incorrect”的错误)
下面开始逐个文件说明:
1./etc/vsftpd.conf 里面的注释比较多,还很详细,这里就不一一列举了,只写上我修改的
anonymous_enable=NO(是否允许匿名登陆)
local_enable=YES(是否允许本地登陆)
write_enable=YES(设置FTP可写)
//chroot (Change Root)
chroot_local_user=YES(设置成YES后,加入vsftpd.chroot_list中的用户可以通过ftp访问)
chroot_list_enable=YES(启用下面这个vsftpd.chroot_list)
chroot_list_file=/etc/vsftpd.chroot_list(指定一下list,这是文件默认的,但是并不存在,需要手动弄一下)
pam_service_name=vsftpd(这里留个标记,在一定情况下会出现530的问题,留到后面错误去讲)
listen_port=21(默认sftp可以登录,但是ftp不能登录;需要在vsftpd.conf加入ftp的默认端口)
我的配置参数
2./etc/vsftpd.chroot_list
将允许ftp登陆的用户名放进来就行,一个一行
我的配置参数
四、重启服务
# service vsftpd restart
五、测试连接
# ftp -v -n localhost
六、安装客户端
apt-get install lftp
七、碰到的问题
使用ftp 命令登陆的时候总是提示如下的错误
root@server:~# ftp localhost
Connected to localhost.
220 (vsFTPd 2.3.5)
Name (localhost:root): ubuntu
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.
ftp> 221 Goodbye.
解决:
sudo apt-get remove vsftpd
sudo rm /etc/pam.d/vsftpd
sudo apt-get install vsftpd
因为ubuntu启用了PAM,所在用到vsftp时需要用到 /etc/pam.d/vsftpd 这个文件(默认源码安装的不会有这个文件),因此除了匿名用户外本地用户无法登录。所以只要删除了就可以了。
觉得有用的话走波关注呗,更多精彩内容等着你~