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

该部门提交数据需要使用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. SQL语法基础之SELECT

    SQL语法基础之SELECT 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.SELECT查看帮助信息 1>.查看SELECT命令的帮助信息 mysql> ? SEL ...

  2. JAVA核心技术I---JAVA基础知识(异常处理类)

    一:异常分类 Throwable:所有错误的祖先. Error:系统内部错误或者资源耗尽.不用我们管 Exception: 程序有关的异常.重点关注 –RuntimeException: 程序自身的错 ...

  3. curator操作zookeeper

    使用zookeeper原生API实现一些复杂的东西比较麻烦.所以,出现了两款比较好的开源客户端,对zookeeper的原生API进行了包装:zkClient和curator.后者是Netflix出版的 ...

  4. ESB简介及选型(转) http://www.cnblogs.com/skyme/archive/2012/08/06/2623414.html

    什么是ESB 企业服务总线(Enterprise Service Bus,ESB)的概念是从面向服务体系架构(Service Oriented Architecture, SOA)发展而来的.SOA描 ...

  5. bzoj千题计划311:bzoj5017: [Snoi2017]炸弹(线段树优化tarjan构图)

    https://www.lydsy.com/JudgeOnline/problem.php?id=5017 暴力: 对于每一个炸弹,枚举所有的炸弹,看它爆炸能不能引爆那个炸弹 如果能,由这个炸弹向引爆 ...

  6. AJAX工作原理与缺点

    1.概念:什么是AJAXAJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术.2.为什么要使用他 ...

  7. sweetalert插件的使用

    sweetalert是一个漂亮的弹窗插件,使用它可以完成各种炫酷的弹窗效果 链接:sweetalert 实例 删除演示 urls.py from django.contrib import admin ...

  8. 13.CrawlSpider类爬虫

    1.CrawlSpider介绍 Scrapy框架中分两类爬虫,Spider类和CrawlSpider类. 此案例采用的是CrawlSpider类实现爬虫. 它是Spider的派生类,Spider类的设 ...

  9. 《Python数据可视化编程实战》

    第一章:准备工作环境 WinPython-32bit-3.5.2.2Qt5.exe 1.1 设置matplotlib参数 配置模板以方便各项目共享 D:\Bin\WinPython-32bit-3.5 ...

  10. nginx 相关命令

    验证配置是否正确: nginx -t 查看Nginx的版本号:nginx -V 启动Nginx:start nginx 快速停止或关闭Nginx:nginx -s stop 正常停止或关闭Nginx: ...