ubuntu 12.04 配置vsftpd 服务,添加虚拟用户,ssl加密
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 vsftpd
2.配置虚拟用户,安装db5.1-util(对应系统版本即可)
apt-get -y install db5.1-util
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.pam
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=YES
对于里面的配置选项,请自行搜索具体含义
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/login
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
8.配置日志文件
产生vsftpd.log和xferlog文件
touch /var/log/vsftpd.log
touch /var/log/xferlog
同时修改文件权限,让vsftpd用户可写
9.启动vsftpd服务
service vsftpd start
10.通过flashfxp 客户端连接
采用tls进行加密.连接类型请选择FTP 使用公开SSL(验证TLS)即可.
其他客户端请自行搜索使用