今天公司某个产品预上线,该产品需要向政府某部门提供一些数据。

该部门提交数据需要使用ftps,苦逼的我只能是测试环境搭建一套,用来测试提交数据。

先自行科普下ftps

一、搭建vsftp

安装vsftp:

yum  install  vsftpd   db4-utils  -y

修改vsftp配置文件:

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=

anon_upload_enable=NO

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

pasv_enable=NO
#用于设置被动模式,默认vsftp是以主动模式工作,如果windows要访问改为YES
pasv_min_port=
pasv_max_port= chown_uploads=NO xferlog_file=/var/log/xferlog xferlog_std_format=YES async_abor_enable=YES ascii_upload_enable=YES ascii_download_enable=YES listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES guest_enable=YES guest_username=vsftpdhome virtual_use_local_privs=YES user_config_dir=/etc/vsftpd/users_config dual_log_enable=YES vsftpd_log_file=/var/log/vsftpd.log

vsftpd.conf

创建秘钥认证文件:
一行用户,一行密码;以此类推
cat > /etc/vsftpd/login.txt << eof
admin
password
eof

生成二进制文件:

cd /etc/vsftpd/
db_load -T -t hash -f login.txt login.db
chmod /etc/vsftpd/login.*
db_load参数解释:
db_load参数解释:

选项-T允许应用程序能够将文本文件转译载入进数据库。由于我们之后是将虚拟用户的信息以文件方式存储在文件里的,为了让Vsftpd这个应用程序能够通过文本来载入用户数据,必须要使用这个选项。如果指定了选项-T,那么一定要追跟子选项-t。
子选项-t,追加在在-T选项后,用来指定转译载入的数据库类型。扩展介绍下,-t可以指定的数据类型有Btree、Hash、Queue和Recon数据库。
选项-f的参数是包含用户名和密码的文本文件,文件的内容是:奇数行用户名、偶数行密码。

db_load参数解释

添加认证方式:

cat /etc/pam.d/vsftpd
#%PAM-1.0
#session optional pam_keyinit.so force revoke
#auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth required pam_shells.so
#auth include password-auth
#account include password-auth
#session required pam_loginuid.so
#session include password-auth
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/login
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/login ##备注:上面只有最后两行生效,db=/etc/vsftpd/login 实质指向的
#是/etc/vsftpd/login.db(配置中不加DB)
#另外lib64 为 64位系统,32位系统写lib
#auth是对用户密码进行验证。
#accout是对用户的权限进行验证。

创建用户管理文件:

mkdir /etc/vsftpd/users_config
cat > /etc/vsftpd/users_config/admin << eof
local_root=/data/
virtual_use_local_privs=NO
write_enable=YES anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES idle_session_timeout=
data_connection_timeout=
max_clients=
max_per_ip=
anon_max_rate=
eof

创建local_root目录,并赋予权限:

mkdir /data
useradd vsftpdhome
chown vsftpdhome.vsftpdhome /data/

启动vsftpd:

/etc/init.d/vsftpd start

二、vsftp被动方式配置

vsftp 被动模式配置方式及防火墙配置方式:

#在vsftpd配置文件中配置被动端口,被动端口是给windows 使用的,具体原因自己百度下
#优点:对连接速度没有影响。
#缺点:限制了客户端并发连接的数量。
在/etc/vsftpd/vsftpd.conf中添加: pasv_enable=YES
pasv_min_port=
pasv_max_port=

防火墙配置:

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport -j ACCEPT
iptables -A INPUT -p tcp --dport : -j ACCEPT

如果开启了selinx,selinux配置

setsebool -P ftpd_disable_trans
service vsftpd restart

三、ftps配置

自己理解,所谓ftps是ftp调用ssl来完成安全的验证。

如果不正确还请指正。

修改vsftpd.conf,添加如下行:

# head vsftpd.conf
#### ssl #####
rsa_cert_file=/etc/vsftpd/certs/test.pem
rsa_private_key_file=/etc/vsftpd/certs/test.key
ssl_tlsv1=YES
ssl_sslv3=YES
ssl_sslv2=YES
ssl_enable=YES
force_local_logins_ssl=YES
force_local_data_ssl=YES

然后重启vsftp。

四、登陆验证

在客户机上安装ftp客户端软件FlashFXP

安装之后新建站点,截图如下:

到这,基本已经完成了。至于中间遇到的ssl中使用的证书怎么生成,下次再写出来吧。

vsftp、ftps 搭建的更多相关文章

  1. VSFTP服务搭建

    title date tags layout CentOS6.5 Vsftp服务安装与配置 2018-09-04 Centos6.5服务器搭建 post 1.安装vsftp服务 [root@local ...

  2. vsftp快速搭建ftp服务器

    什么是vsftp: vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux, BSD, Solaris, HP-UX 以及 IRIX 上面.它支持很多其他的 FT ...

  3. Linux学习笔记11—VSFTP的搭建

    1.查看是否安装vsftp rpm -qa | grep vsftpd 如果出现vsftpd-2.0.5-21.el5,说明已经安装 vsftp 安装vsftp yum -y install vsft ...

  4. centos7中vsftp的搭建

    开启vsftpd:service vsftpd start关闭vsftp:service vsftpd stop 安装vsftpd: yum -y install vsftpd 建立vsftpd帐号: ...

  5. vsftp服务器搭建

    1.FTP的主动模式和被动模式的区别: 最大的区别是数据端口并不总是20, 主动模式和被动模式的优缺点: 主动FTP对FTP服务器的管理和安全很有利,但对客户端的管理不利.因为FTP服务器企图与客户端 ...

  6. CentOS 6.5 下搭建vsftp服务

    参考网站: http://blog.163.com/sunshine_linting/blog/static/44893323201391010522601/ http://blog.sina.com ...

  7. Linux中搭建FTP服务器

    FTP工作原理 (1)FTP使用端口 [root@localhost ~]# cat /etc/services | grep ftp ftp-data 20/tcp #数据链路:端口20 ftp 2 ...

  8. Linux:FTP服务器的搭建

    FTP服务器的简介 系统用户 即系统本机的用户.Linux一般不会针对实体用户进行限制,因此实体用户可以针对整个文件 系统进行工作.但通常不希望他们通过FTP方式远程访问系统. 虚拟用户 只能采用FT ...

  9. 15.linux iptables防火墙规则vsftp服务

    一.服务所开启的端口号.          dhcp 67       samba 139 445       http 80  https 443       mysql 3306         ...

随机推荐

  1. MyBatis-注解方式整合SSM

    Spring.Spring MVC.MyBatis 整合 一.依赖 <?xml version="1.0" encoding="UTF-8"?> & ...

  2. [Android] Android 常见第三方库汇总地址

    Android 常见第三方库汇总地址 https://github.com/wasabeef/awesome-android-libraries List of Android Libraries T ...

  3. 关闭Android ActionBar

    修改Styles.xml中 <resources> <!-- Base application theme. --> <style name="AppTheme ...

  4. 【二】JConsole、VisualVM

    监控工具 jconsole.exe 只有10几k,真正的代码是包装在tools.jar中. 双击[本地线程]:sun.tools.jconsole.JConsole: 内存的线在上下起伏,证明是[垃圾 ...

  5. Linux查看版本信息

    查看Linux版本以及是32位还是64位 查看版本 一.查看Linux内核版本命令(两种方法): 1.cat /proc/version [root@S-CentOS home]# cat /proc ...

  6. 【bzoj 3110】[Zjoi2013]K大数查询

    Description 有N个位置,M个操作.操作有两种,每次操作如果是1 a b c的形式表示在第a个位置到第b个位置,每个位置加入一个数c.如果是2 a b c形式,表示询问从第a个位置到第b个位 ...

  7. 【bzoj 1492】[NOI2007]货币兑换Cash

    Description 小Y最近在一家金券交易所工作.该金券交易所只发行交易两种金券:A纪念券(以下简称A券)和 B纪念券(以下简称B券).每个持有金券的顾客都有一个自己的帐户.金券的数目可以是一个实 ...

  8. python 中: lambda

    lambda 定义了一个匿名函数,是代码更简洁 lambda x:x+1和def g(x): return x+1是相同的哦. python 中的map,filter, reduce 函数为序列内置函 ...

  9. git 出现 fatal: refusing to merge unrelated histories 错误

    git pull 失败 ,提示:fatal: refusing to merge unrelated histories 其实这个问题是因为 两个 根本不相干的 git 库, 一个是本地库, 一个是远 ...

  10. keras中的重要函数

    https://blog.csdn.net/u012969412/article/details/70882296