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

该部门提交数据需要使用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. 《Apache Kafka 实战》读书笔记-认识Apache Kafka

    <Apache Kafka 实战>读书笔记-认识Apache Kafka 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.kafka概要设计 kafka在设计初衷就是 ...

  2. scrapy中的xpath用法和css的用法

    css 不包含那个类 response.css(".list-left dd:not(.page)") 获取属性和文本 img.css("a::text").e ...

  3. WebService概念和使用

    1.WebService到底是什么 一言以蔽之:WebService是一种跨编程语言和跨操作系统平台的远程调用技术. 所谓跨编程语言和跨操作平台,就是说服务端程序采用java编写,客户端程序则可以采用 ...

  4. Iterator迭代器

    java.util.Iterator 迭代器iterator,是一个接口,不能够直接使用,需要使用Iterator接口的实现类对象,而获取实现类的的对象的方式为: Collection接口中有一个方法 ...

  5. JDK源码之数组

    序言 <1>栈内存和堆内存当一个方法执行时,每个方法都会建立自己的内存栈,在这方法内定义的变量将会逐个放入这块栈内存里,随着方法的执行结束,这个方法的内存栈也将自然销毁.所有在方法中定义的 ...

  6. Tomcat下载,及环境变量配置

    首先,介绍一下Tomcat: Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Sun 和其他一些公 ...

  7. 【核心】project(idea文件)、module(iml文件)到SSM集成、热部署、Tomcat启动、MAVEN依赖冲突

    http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/project-composition-introduce.html 在 Inte ...

  8. python日志1

    import logging # logging.basicConfig(filename='app.log', # format='%(asctime)s - %(name)s - %(leveln ...

  9. GDI+学习---2.GDI+编程模式及组成类

    在使用GDI+的时候,您不必像在GDI中那样关心设备场景句柄,只需简单地创建一个Graphics对象,然后以您熟悉的面向对象的方式(如myGraphicsObject.DrawLine(paramet ...

  10. json对象转数组

    <script type="text/javascript"> var object = {"a":1,"b":2," ...