FTP 文件传输协议.用于互联网上的控制文件的双向传输,使用FTP来传输时,其实是具有一定程度的危险性,因为数据在因特网上面是完全没有受到保护的明文传输方式,VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,从名称定义上基本可以看出,这是为了解决ftp传输安全性问题的.

VSFTP的特点:

1.vsftp程序的运行者一般是普通用户,降低了相对应进程的权限,提高了安全性.

2.任何需要执行较高权限的指令都需要上层程序许可.

3.ftp所需要使用的绝大多数命令都被整合到了vsftp中,基本不需要系统额外提供命令.

4.拥有chroot功能,可以改变用户的根目录,限制用户只能在自己的家目录.

VSFTP的连接类型:

控制连接(持续连接)-> TCP21(命令信道)-> 用户收发FTP命令

数据连接(按需连接)-> TCP20(数据信道)-> 用于上传下载数据

VSFTP的工作模式:

主动模式与被动模式注意事项

1.很多防火墙在设置的时候都是不允许接受外部发起的连接,所以许多位于防火墙后或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高位端口.

2.而许多内网的客户端不能用PORT模式登陆FTP服务器,因为从服务器的TCP20无法和内部网络的客户端建立一个新的连接,造成无法工作.

VSFTP的传输模式:

ASCII传输方式

1.假定用户正在拷贝的文件包含的简单ASCII码文本,如果在远程机器上运行的不是UNIX,当文件传输时ftp通常会自动地调整文件的内容以便于把文件解释成另外那台计算机存储文本文件的格式.

2.但是常常有这样的情况,用户正在传输的文件包含的不是文本文件,它们可能是程序,数据库,字处理文件或者压缩文件.在拷贝任何非文本文件之前,用binary命令告诉ftp逐字拷贝

二进制传输模式(Binary模式)

1.在二进制传输中,保存文件的位序,以便原始和拷贝的是逐位对应的.即使目的地机器上包含位序列的文件是没意义的.例如QQ.exe以二进制方式传送可执行文件到Linux系统,在对方系统上,此文件不能执行.

以上就是全部的常用内容啦,基本上面试也就问这些东西.

配置匿名FTP服务器

作用:任意用户,输入FTP服务器IP都可以访问,只需输入用户名ftp即可访问.

[匿名配置常用参数]

	anonymous_enable=YES		#启用匿名访问
anon_umask=022 #匿名用户所上传文件的权限掩码
anon_root=/var/ftp #匿名用户的FTP根目录
anon_upload_enable=YES #允许上传文件
anon_mkdir_write_enable=YES #允许创建目录
anon_other_write_enable=YES #开放其他写入权
anon_max_rate=0 #限制最大传输速率

1.安装VSFTP服务器.

[root@localhost ~]# yum install -y vsftpd

2.修改VSFTP主配置文件,覆盖写入以下内容,并去掉#号注释即可.

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf

pasv_enable=YES							#开启被动模式
pasv_min_port=10000 #被动模式最小端口
pasv_max_port=15000 #被动模式最大端口 anonymous_enable=YES #允许匿名用户访问
anon_upload_enable=YES #允许匿名用户上传
anon_mkdir_write_enable=YES #允许匿名用户建立目录
anon_other_write_enable=YES #开放其他人写入权限
anon_umask=022 #设置匿名用户umask
anon_root=/ghost #匿名用户ftp根目录 local_enable=YES #允许本地用户登录
write_enable=YES #允许本地用户上传
local_umask=022 #本地用户上传umask值
xferlog_enable=YES #激活记录日志
connect_from_port_20=YES #主动模式传输接口
xferlog_std_format=YES #使用标准ftp日志的格式 listen=YES #允许被侦听
pam_service_name=vsftpd #ftp采用pam默认用户名密码验证
userlist_enable=YES #用户登陆限制
tcp_wrappers=YES #网络访问限制机制 #[打开vim,输入正则 去掉警号:%s/#.*$//g 去掉空格:%s/\s//g]

3.启动FTP服务,并设置开机自动启动.

[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# systemctl enable vsftpd

配置本地用户FTP服务器

作用:只有正确输入用户名和密码才能访问数据.

[本地配置常用参数]

	local_enable=YES				#是否启用本地系统用户
local_umask=022 #本地用户所上传文件的权限掩码
local_root=/var/ftp #设置本地用户的FTP根目录
chroot_local_user=YES #是否将用户禁锢在主目录
local_max_rate=0 #限制最大传输速率
ftpd_banner=Welcome to blah FTP service #用户登录时显示的欢迎信息
banner_file=/目录 #弹出一个说明,可以做哪些操作
userlist_enable=YES &userlist_deny=YES #禁止/etc/vsftpd/user_list文件中出现的用户名登录FTP
userlist_enable=YES & userlist_deny=NO #仅允许/etc/vsftpd/user_list文件中出现的用户名登录FTP

1.安装VSFTP服务器.

[root@localhost ~]# yum install -y vsftpd

2.修改VSFTP主配置文件,覆盖写入以下内容,并去掉#号注释即可.

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf

pasv_enable=YES							#开启被动模式
pasv_min_port=10000 #被动模式最小端口
pasv_max_port=15000 #被动模式最大端口 anonymous_enable=NO #允许匿名用户登陆
chroot_local_user=YES #把用户禁锢在家目录
local_enable=YES #本地用户允许登陆
local_root=/ghost #指定本地用户的ftp根目录
write_enable=YES #允许本地用户上传
local_umask=022 #本地用户上传umask值
xferlog_enable=YES #激活记录日志
xferlog_std_format=YES #使用标准ftp日志的格式 listen=YES #允许被侦听
pam_service_name=vsftpd #ftp采用pam默认用户名密码验证
userlist_enable=YES #用户登陆限制
tcp_wrappers=YES #网络访问限制机制 #[打开vim,输入正则 去掉警号:%s/#.*$//g 去掉空格:%s/\s//g]

3.创建用户并指定其家目录,创建用于存储数据的目录.

[root@localhost ~]# useradd -s /sbin/nologin -d /ghost/lyshark  lyshark
[root@localhost ~]# passwd lyshark

4.启动FTP服务,并设置开机自动启动.

[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# systemctl enable vsftpd

配置匿名与本地混合FTP

作用:匿名用户可以查看共享数据,登陆后有自己的存储池.

1.安装VSFTP服务器

[root@localhost ~]# yum install -y vsftpd

2.修改VSFTP主配置文件,覆盖写入以下内容,并去掉#号注释即可.

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf

pasv_enable=YES							#开启被动模式
pasv_min_port=10000 #被动模式最小端口
pasv_max_port=15000 #被动模式最大端口
anonymous_enable=YES #允许匿名用户登陆
anon_umask=022 #设置匿名用户umask
anon_root=/var/ftp #匿名用户ftp根目录
anon_upload_enable=YES #允许匿名用户上传
anon_mkdir_write_enable=YES #允许匿名用户建立目录
anon_other_write_enable=YES #开放其他人写入权限
anon_max_rate=0 #限制最大传输速率 local_enable=YES #允许本地用户登录
local_root=/ghost #指定本地用户的ftp根目录
chroot_local_user=YES #把用户禁锢在家目录
write_enable=YES #允许本地用户上传
local_umask=022 #本地用户上传umask值
xferlog_enable=YES #激活记录日志
xferlog_std_format=YES #使用标准ftp日志的格式
listen=YES #允许被侦听
pam_service_name=vsftpd #ftp采用pam默认用户名密码验证
userlist_enable=YES #用户登陆限制
tcp_wrappers=YES #网络访问限制机制 #[打开vim,输入正则 去掉警号:%s/#.*$//g 去掉空格:%s/\s//g]

3.创建用户并指定其家目录,创建用于存储数据的目录.

[root@localhost ~]# useradd -s /sbin/nologin -d /ghost/lyshark  lyshark
[root@localhost ~]# passwd lyshark

4.启动FTP服务,并设置开机自动启动.

[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# systemctl enable vsftpd

配置虚拟用户FTP服务器

作用:有时候创建本地用户过多,严重影响系统效率,所有我们要使用虚拟用户模式.

[虚拟配置常用参数]

	anon_world_readable_only=NO 		#允许查看和上传下载文件
anon_upload_enable=YES #允许上传文件
anon_world_readable_only=NO #允许查看和上传下载文件
anon_mkdir_write_enable=YES #允许创建目录
anon_world_readable_only=NO #允许查看和上传下载文件
anon_other_write_enable=YES #允许重名和删除文件

1.安装相应软件包,libdb-utls是数据库包.

写入相应账号以及密码yum install -y libdb-utils
写入相应账号以及密码yum install -y vsftpd

2.配置vlogin文件,vlogin文件名称可自定义,写入相应账号以及密码.

[root@localhost ~]# vim /etc/vsftpd/vlogin

Lyshark			#奇数行写账号
123456 #偶数行写密码

3.将写好的文件加密,并转换成vlogin.db数据库文件

[root@localhost ~]# db_load -T -t hash -f /etc/vsftpd/vlogin /etc/vsftpd/vlogin.db

4.设置数据库文件的权限,保证安全.

[root@localhost ~]# chmod 600 /etc/vsftpd/{vlogin,vlogin.db}

5.覆盖编辑PAM文件,写入以下内容.

[root@localhost ~]# vim /etc/pam.d/vsftpd.pam

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vlogin
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vlogin

6.创建一个映射账号virtual,所有的登陆请求都是virtual.

[root@localhost ~]# useradd -s /sbin/nologin -d /home/ftp virtual

7.修改VSFTP主配置文件,覆盖写入以下内容,并去掉#号注释即可.

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf

pasv_enable=YES							#开启被动模式
pasv_min_port=10000 #被动模式最小端口
pasv_max_port=15000 #被动模式最大端口 anonymous_enable=NO #允许匿名用户访问
local_enable=YES #允许本地用户登录
write_enable=YES #允许本地用户上传
anon_upload_enable=YES #允许匿名用户上传
anon_mkdir_write_enable=NO #允许匿名用户建立目录
anon_other_write_enable=NO #开放其他人写入权限
chroot_local_user=YES #把用户禁锢在家目录
guest_enable=YES #启动来宾用户
guest_username=virtual #来宾默认使用的用户
listen=YES #允许被侦听
listen_port=21 #侦听21端口
pam_service_name=vsftpd.pam #ftp采用pam默认用户名密码验证
user_config_dir=/etc/vsftpd_user_conf #指定虚拟用户配置文件保存位置
user_sub_token=$USER #映射用户变量 #[打开vim,输入正则 去掉警号:%s/#.*$//g 去掉空格:%s/\s//g]

8.创建对应文件(用于保存权限文件).

[root@localhost ~]# mkdir /etc/vsftpd_user_conf
[root@localhost ~]# mkdir -p /home/ftp/lyshark

9.编辑文件给指定用户分配权限,用匿名用户权限分配.

[root@localhost ~]# vim /etc/vsftpd_user_conf/lyshark

local_root=/home/ftp/$USER
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
chroot_local_user=YES # allow_writeable_chroot=YES #可在公共目录下创建文件

10.启动FTP服务,并设置开机自动启动.

[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# systemctl enable vsftpd

OpenSSL+VSFTP加密传输

1.查看是否安装OpenSSL包.

[root@localhost ~]# rpm -q openssl

2.生成SSL加密密钥对.

[root@localhost ~]# openssl req -new -x509 -nodes -out vsftpd.pem -keyout vsftpd.pem

[参数说明]
req #标注格式
-new #创建一个新的证书
-x509 #证书内容格式
-nodes #不使用密码
-out #生成文件名
-keyout #生成的秘钥文件名 #创建时依次填写:国家、省份、城市、组织、部门、个人或主机名、邮箱

3.把生成的证书放入特定目录下,并给予最低权限,保证安全.

[root@localhost ~]# cp -a vsftpd.pem /etc/ssl/certs/
[root@localhost ~]# chmod 500 /etc/ssl/certs/

4.在VSFTP主配置中文件加入以下参数.

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf

ssl_enable=YES							#启用ssl认证
ssl_tlsv1=YES
ssl_sslv2=YES #开启tlsv1、sslv2、sslv3都支持
ssl_sslv3=YES
allow_anon_ssl=YES #允许匿名用户
force_anon_logins_ssl=YES
force_anon_data_ssl=YES #匿名登录和传输时强制使用ssl
force_local_logins_ssl=YES
force_local_data_ssl=YES #本地登录和传输时强制使用ssl
rsa_cert_file=/etc/ssl/certs/vsftpd.pem #证书文件所在目录 #[打开vim,输入正则 去掉警号:%s/#.*$//g 去掉空格:%s/\s//g]

5.启动FTP服务,并设置开机自动启动.

[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# systemctl enable vsftpd

配置VSFTP文件服务器的更多相关文章

  1. asp.net core 简单部署之FTP配置(CentOS 7.0安装配置Vsftp服务器)

    配置过程原文地址:http://www.osyunwei.com/archives/9006.html 坑和结果 正确的跟着这个内容走,是靠谱的. 我自己给自己踩了个坑,请参照文章的朋友注意第七条:七 ...

  2. CentOS 7.0安装配置Vsftp服务器

    一.配置防火墙,开启FTP服务器需要的端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop fi ...

  3. Fedora 14配置vsftp服务步骤

    Fedora 14配置vsftp服务步骤:1:检查Fedora14是否安装了vsftp服务    用rpm -qa|grep vsftp命令检查是否安装了vsftp服务,如果安装了,会显示安装好的版本 ...

  4. CentOS 6.5 安装配置VSFTP

    1.下载安装VSFTP 首先查看当前系统是否已经安装VSFTP,若未安装则使用yum安装. chkconfig --list | grep vsftpd #查看是否安装 yum install vsf ...

  5. 配置VSFTP服务器

    一.Linux FTP服务器分类:  <1>wu-ftp  <2>proftp=profession ftp  <3>vsftp=very security ftp ...

  6. CentOs6.5中安装和配置vsftp简明

    这篇文章主要介绍了CentOs6.5中安装和配置vsftp简明教程,需要的朋友可以参考下     一.vsftp安装篇 复制代码代码如下: # 安装vsftpdyum -y install vsftp ...

  7. CenOS配置VSFTP服务器

    1 Linux FTP服务器分类: wu-ftp proftp=profession ftp vsftp=very security ftp 2 安装vsftp yum install vsftp 3 ...

  8. linux下WEB服务器安装、配置VSFTP

    转载  http://www.oicto.com/centos-vsftp/?tdsourcetag=s_pcqq_aiomsg linux下WEB服务器安装.配置VSFTP 由 admin · 发布 ...

  9. 安装配置fastDFS文件服务器 - Linux

    一.配置linux环境 1.新建虚拟机 把上次安装的CentOS7的文件复制一份,并改名 打开VM>打开虚拟机,选择刚才复制好的虚拟机,并启动.这样做的目的主要是为了保留一份最基础的母本,为了将 ...

  10. CentOS 7.0安装配置Vsftp服务器步骤详解

    安装Vsftp讲过最多的就是在centos6.x版本中了,这里小编看到有朋友写了一篇非常不错的CentOS 7.0安装配置Vsftp服务器教程,下面整理分享给各位. 一.配置防火墙,开启FTP服务器需 ...

随机推荐

  1. display:none和overflow:hidden的区别

    1.display:none 当将一个元素的display属性设置为none时,该元素将不会显示在网页中,并且不会占据任何空间.也就是说,该元素会完全隐藏,其他的元素会立即占据它原来的位置.该属性适用 ...

  2. 方法记录 | 文件批量导入Goodnotes

    一般来说通常资料都是用网盘下载了很多文件,想用Goodnotes来写批注,记笔记等,但是由于网盘不能直接分享.也不能批量分享到Goodnotes,给学习带来了很大的麻烦. 当然有钱的大佬们呢直接开了 ...

  3. 汇编 | 8086 DEBUG调试学习笔记

    在8086汇编中DEBUG是个非常实用的工具,并且可以非常明了的查看每一步指令每一个段的相对状态,有利于学习.下面列举一下DEBUG的一些使用方法: -A:可以开始在相应位置编写代码,其中后面可以接一 ...

  4. Codeforces Round #731 (Div. 3) A~G 解题记录

    比赛链接:Here 1547A. Shortest Path with Obstacle 3个点 \(A,B,F\) ,前提 \(F\) 点为不可经过点,问 \(A\to B\) 最短路径长度 A题没 ...

  5. 【每日一题】23.Removal (计数DP)

    补题链接:Here 计数DP讲解:Here 这是一个计数类的dp dp[i][j]表示前i个数字中,删除j个元素的方案数 很容易得到转移方程:\(f[i][j] = f[i - 1][j - 1] + ...

  6. SPI 在 Dubbo中 的应用

    通过本文的学习,可以了解 Dubbo SPI 的特性及实现原理,希望对大家的开发设计有一定的启发性. 一.概述 SPI 全称为 Service Provider Interface,是一种模块间组件相 ...

  7. SpringBoot-mybatisplus-模糊查询

    模糊查询如何实现如下案例中两种实现方法 第一种:利用QueryWrapper.like自己实现. 第二种:使用@TableField(condition = SqlCondition.LIKE)实现. ...

  8. 二、mongo集群搭建

    系列导航 一.linux单机版mongo安装(带密码验证) 二.mongo集群搭建 三.java连接mongo数据库 四.java对mongo数据库增删改查操作 五.mongo备份篇 mongoexp ...

  9. sipp3.6 on centos7安装部署

    概述 在VOIP软交换的开发过程中,必然需要对软交换进行批量压测. SIP压测工具一般都是sipp,免费,开源,功能足够强大,配置灵活,优点多. 环境 centos7.9 cmake3.6 sipp ...

  10. 扒一扒ProcessOn 新功能——一键编号、图形组合、左侧导航、画布水印、表格组件

    思维导图.一键编号 思维导图新增 多种全新主题风格,让您的创作赏心悦目 思维导图新增 一键编号 功能 流程图.图形组合 自定义组合图形功能:新增流程图 我的图形 功能,用户可以设置或者上传自己的图形 ...