1.对于12.04的vsftpd 有一些bug,推荐安装版本vsftpd_2.3.5-1ubuntu2ppa1_amd64.deb
apt-get install python-software-properties
add-apt-repository ppa:thefrontiergroup/vsftpd
apt-get update
apt-get install vsftpdnode
2.配置虚拟用户,安装db5.1-util(对应系统版本便可)
apt-get -y install db5.1-utilpython
3.开始具体配置
cd /etc/
/bin/cp -rf vsftpd.conf vsftpd.conf.backup
配置文件以下:
#常规配置
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
dirmessage_enable=YES
chown_uploads=NO
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_list_enable=NO
ls_recurse_enable=YES
listen_port=21
listen_ipv6=NO
pam_service_name=vsftpd
chroot_local_user=YES
guest_enable=YES
guest_username=vsftpd
virtual_use_local_privs=NO
#存放用户配置文件目录,不存在请建立
user_config_dir=/etc/vsftpd/vconfig/
pam_service_name=vsftpd.pamlinux
chroot_local_user=YES
allow_writeable_chroot=YES
#被动模式
pasv_enable=YES
pasv_min_port=61100
pasv_max_port=61200
#加密配置
ssl_enable=YES
allow_anon_ssl=YES
force_local_data_ssl=YES
force_local_logins_ssl=YES
force_anon_data_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
rsa_cert_file=/etc/vsftpd/vconfig/vsftpd.pem
rsa_private_key_file=/etc/vsftpd/vconfig/vsftpd.key
#日志输出
syslog_enable=NO
log_ftp_protocol=NO
xferlog_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
xferlog_std_format=NO
xferlog_file=/var/log/xferlog
dual_log_enable=YESubuntu
对于里面的配置选项,请自行搜索具体含义ui
4.配置虚拟用户
cd /etc/vsftpd
touch user.txt,文件内容以下:
abc------(用户)
abcdxxx ------(密码)
若是继续添加用户,日后添加便可.2行做为一个用户输出
运行以下命令,产生用户数据db文件
/usr/bin/db5.1_load -T -t hash -f /etc/vsftpd/user.txt /etc/vsftpd/user.db
user.txt文件和user.db文件请放在一块儿.生成user.db文件后,改变权限
chmod 600 user.db
对于配置新加的用户,也须要在 /etc/vsftpd/vconfig/ 文件夹下产生同名用户文件.要否则产生的用户不生效.
须要从新运行一下
/usr/bin/db5.1_load -T -t hash -f /etc/vsftpd/user.txt /etc/vsftpd/user.db
而后重启vsftpd 服务加密
5.配置虚拟用户目录
mkdir -p /etc/vsftpd/vconfig/
touch abc
local_root=/data/abc/ -------abc ftp用户目录
anon_umask=022 -------文件权限为644
anonymous_enable=no -------不容许匿名登陆
#后面的配置选项主要对ftp上传,下载,创建目录,浏览文件,删除,移动等权限,值为yes/no.请参考下面的具体内容.经过灵活调整下面选项,便可完成对用户只上传,下载,移动/删除等权限.对于具体的含义,请本身搜索
download_enable=yes -------容许下载
anon_upload_enable=yes --------容许上传
anon_mkdir_write_enable=yes -------容许创建文件夹
anon_world_readable_only=no --------容许浏览文件
anon_other_write_enable=yes --------移动,删除,更名等权限日志
6.修改vsftp的pam验证配置
建立一个vsftpd.pam文件,此文件对应配置文件里面的pam_service_name选项
对于64位系统,vsftpd.pam内容以下(tab分割)
auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd/login
account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd/loginorm
7,配置vsftpd ssl加密
运行openssl 命令便可,产生的文件对应配置里面的rsa_cert_file,rsa_private_key_file选项
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/vsftpd/vconfig/vsftpd.key -out /etc/vsftpd/vconfig/vsftpd.pem ip
8.配置日志文件
产生vsftpd.log和xferlog文件
touch /var/log/vsftpd.log
touch /var/log/xferlogssl
同时修改文件权限,让vsftpd用户可写
9.启动vsftpd服务
service vsftpd start
10.经过flashfxp 客户端链接采用tls进行加密.链接类型请选择FTP 使用公开SSL(验证TLS)便可.其余客户端请自行搜索使用