vsftp的安装

一、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 vsftpd
 2.创建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.txt
 vsftp_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.db
4.配置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
5.修改vsftp配置文件/etc/vsftpd.conf 主要检查以下配置:
#如果要让访问的用户必须输入用户名和密码的话,这个时候这里就是设置成NO
anonymous_enable=NO 
dirmessage_enable=YES 
xferlog_enable=YES 
xferlog_file=/var/log/vsftpd.log 
xferlog_std_format=YES
#是否将所有用户限制在主目录
chroot_local_user=YES 
#是否启用chroot_list_file限制
chroot_list_enable=YES
#限制用户配置文件,这时里面配置的用户可以浏览主目录的上级目录,而不在里面的用户就不行
chroot_list_file=/etc/vsftpd/chroot_list
#这个是开启虚拟用户
guest_enable=YES 
#这个就是我们上面设置的本地用户名
guest_username=vsftpd
#虚拟用户配置目录
user_config_dir=/etc/vsftpd/virtual_users
#启用pam
pam_service_name=vsftpd
#是否启用本地用户
local_enable=YES 
secure_chroot_dir=/var/run/vsftpd
6. 编辑单个用户配置文件( user_config_dir配置的目录下) 示例
local_root=/var/ftp/ftp_base
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
说明
local_root=虚拟用户主目录,注意这个主目录不能有写的权限,否则登陆会报错(500 OOPS: vsftpd: refusing to run with writable root inside chroot)
write_enable=YES  //写权限
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

猜你喜欢

转载自marionette.iteye.com/blog/2358650