一、vsftp简介
1. 什么是vsftp
vsftpd 的名字代表"very secure FTP daemon", 安全是它的开发者Chris Evans 考虑的首要问题之一。在这个 FTP 服务器设计开发的最开始的时候,高安全性就是一个目标。
2. vsftp特性
vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux, BSD, Solaris, HP-UX 以及 IRIX 上面。它支持很多其他的 FTP 服务器不支持的特征。比如:
- 非常高的安全性需求
- 带宽限制
- 良好的可伸缩性
- 创建虚拟用户的可能性
- IPv6支持
- 中等偏上的性能
- 分配虚拟 IP 的可能性
- 高速
二、安装vsftp
通过发行版提供的软件包管理工具安装
如果您用的是Fedora 或Redhat 系统,可以用下面的命令在线安装
[root@localhost ~]# yum install vsftpd如果是debian 类系统,可以用apt 来在线安装
[root@localhost ~]# apt-get install vsftpd
如果您是RPM的系统,也可以找到vsftpd-xxxx.rpm 的包来通过rpm命令来安装
[root@localhost ~]# rpm -ivh vsftpd*.rpm
三、Ubuntu下安装vsftp配置
不同系统安装方式不一样,但配置基本相同,这里相关自定义的配置全部放到/etc/vsftpd目录下。后面记录的配置主要是启用虚拟用户访问的配置。
1.安装
和debian类一样,Ubuntu也可以用apt-get来管理安装软件包
[root@localhost ~]# apt-get install vsftpd2.创建ftp系统用户
相当于虚拟用户通过借用本地用户的名去访问ftp服务器
[root@localhost ~]# sudo useradd vsftpd -d /home/vsftpd -s /bin/false [root@localhost ~]# sudo chown vsftpd:vsftpd /home/vsftpd
这里创建了一个不能登陆的本地用户vsftpd,根目录是/home/vsftpd,后面虚拟用户的根目录都是基于这个目录的
3.创建虚拟用户数据库
[root@localhost ~]# sudo touch /etc/vsftpd/vsftp_user.txt [root@localhost ~]# sudo nano /etc/vsftpd/vsftp_user.txtvsftp_user.txt里记录的是虚拟用户的用户名&密码格式如下
用户名1 密码1 用户名2 密码2 用户名3 密码3下面就可以以vsftp_user.txt为模板创建数据库了
[root@localhost ~]# sudo db_load -T -t hash -f /etc/vsftpd/vsftp_user.txt /etc/vsftpd/vsftp_user.db4.配置PAM文件
[root@localhost ~]# sudo mv /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak [root@localhost ~]# sudo nano /etc/pam.d/vsftpd输入一以下内容:
auth required pam_userdb.so db=/etc/vsftpd/vsftp_user account required pam_userdb.so db=/etc/vsftpd/vsftp_user