配置VSFTP文件服务器
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文件服务器的更多相关文章
- asp.net core 简单部署之FTP配置(CentOS 7.0安装配置Vsftp服务器)
配置过程原文地址:http://www.osyunwei.com/archives/9006.html 坑和结果 正确的跟着这个内容走,是靠谱的. 我自己给自己踩了个坑,请参照文章的朋友注意第七条:七 ...
- CentOS 7.0安装配置Vsftp服务器
一.配置防火墙,开启FTP服务器需要的端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop fi ...
- Fedora 14配置vsftp服务步骤
Fedora 14配置vsftp服务步骤:1:检查Fedora14是否安装了vsftp服务 用rpm -qa|grep vsftp命令检查是否安装了vsftp服务,如果安装了,会显示安装好的版本 ...
- CentOS 6.5 安装配置VSFTP
1.下载安装VSFTP 首先查看当前系统是否已经安装VSFTP,若未安装则使用yum安装. chkconfig --list | grep vsftpd #查看是否安装 yum install vsf ...
- 配置VSFTP服务器
一.Linux FTP服务器分类: <1>wu-ftp <2>proftp=profession ftp <3>vsftp=very security ftp ...
- CentOs6.5中安装和配置vsftp简明
这篇文章主要介绍了CentOs6.5中安装和配置vsftp简明教程,需要的朋友可以参考下 一.vsftp安装篇 复制代码代码如下: # 安装vsftpdyum -y install vsftp ...
- CenOS配置VSFTP服务器
1 Linux FTP服务器分类: wu-ftp proftp=profession ftp vsftp=very security ftp 2 安装vsftp yum install vsftp 3 ...
- linux下WEB服务器安装、配置VSFTP
转载 http://www.oicto.com/centos-vsftp/?tdsourcetag=s_pcqq_aiomsg linux下WEB服务器安装.配置VSFTP 由 admin · 发布 ...
- 安装配置fastDFS文件服务器 - Linux
一.配置linux环境 1.新建虚拟机 把上次安装的CentOS7的文件复制一份,并改名 打开VM>打开虚拟机,选择刚才复制好的虚拟机,并启动.这样做的目的主要是为了保留一份最基础的母本,为了将 ...
- CentOS 7.0安装配置Vsftp服务器步骤详解
安装Vsftp讲过最多的就是在centos6.x版本中了,这里小编看到有朋友写了一篇非常不错的CentOS 7.0安装配置Vsftp服务器教程,下面整理分享给各位. 一.配置防火墙,开启FTP服务器需 ...
随机推荐
- Python pickle 二进制序列化和反序列化 - 数据持久化
模块 pickle 实现了对一个 Python 对象结构的二进制序列化和反序列化. "pickling" 是将 Python 对象及其所拥有的层次结构转化为一个字节流的过程,而 & ...
- PS CJ20N 项目定义属性字段增强
一.CJ20N添加字段 二.用户出口 三.校验必输项 博客频遭盗窃,请移步公众号"斌将军",输入关键字"项目定义字段增强"查看 TRANSLATE with ...
- TCP 拥塞控制对数据延迟的影响
哈喽大家好,我是咸鱼 今天分享一篇文章,是关于 TCP 拥塞控制对数据延迟产生的影响的.作者在服务延迟变高之后进行抓包分析,结果发现时间花在了 TCP 本身的机制上面:客户端并不是将请求一股脑发送给服 ...
- 活动回顾|阿里云 Serverless 技术实践营 Serverless +AI 专场
8月25日"阿里云Serverless技术实践营( Serverless + AI 专场)"北京站圆满落幕.活动受众以关注 Serverless +AI 技术的开发者.企业决策人. ...
- docker查看日志:docker service logs 与 docker container logs
转载请注明出处: docker service logs 和 docker container logs 是两个不同的命令,用于查看 Docker 服务和容器的日志.以下是它们之间的区别: 1.doc ...
- 【VSCode】秒下vscode
有时从vscode官网下载速度奇慢甚至失败,介绍一种方法可以秒下 进入官网选择要下载的版本 像我的电脑,下载网址根本打不开 修改下载网址,替换下载地址中红框字符串:vscode.cdn.azure.c ...
- Linux-文件压缩-tar-gzip
- GoMusic-歌单迁移工具网站 一键迁移网易云/QQ音乐歌单至 Apple/Youtube/Spotify Music
GoMusic是什么: GoMusic是一个在线歌单迁移工具网站,帮助用户一键迁移网易云/QQ音乐歌单至 Apple/Youtube/Spotify Music,直接输入歌单链接,复制查询结果,打开 ...
- 代码使我头疼之React初学习
前言 开始了,去年(2020)说要学的React,到现在2021年的12月底了,才来实施--(年底警告!年末总结还没开始写!) 不过前端为啥要学React呢?Vue不是很好用吗?Vue确实很好用,并且 ...
- [转帖]Nginx 使用与异常处理
http://jartto.wang/2017/04/15/nginx-exception-handling/ 以前总是偷懒使用 Http-Server 来启动一个本地服务,后来花时间学习了一下 Ng ...