1、什么是FTP服务器?
FTP 是 File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于 Internet 上的控制文件的双向传输。同时,它也是一个应用程序(Application)。 基于不同的操作系统有不同的 FTP 应用程序,而所有这些应用程序都遵守同一种协议以传输文件。
在 FTP 的使用当中,用户经常遇到两个概念:“下载”(Download)和"上传"(Upload)。
2、什么是vsftpd?
vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、HP-UNIX 等系统上面,是一个完全免费的、开放源代码的 ftp 服务器软件,支持很多其他的FTP 服务器所不支持的特征。
一、vsftpd的安装

启动vsftpd服务:

关闭火墙,使其开机不启动

vsftpd服务开机自启动

selinux状态为Permissive

安装lftp

客户端访问时, 用户身份可以分为:
1). 匿名用户:没有指定用户身份, ftp身份实现从服务器上传和下载文件;
2). 本地用户: -u指定用户身份,用户是服务器端的用户;
3). 虚拟用户: -u指定用户身份,但是服务器端并不存在该用户(id username)

vsftpd文件信息
/var/ftp ##默认发布目录
/etc/vsftpd ##配置目录

二、vsftpd服务的配置参数
/etc/vsftpd/vsftpd.conf 文件,是 vsftp 的配置文件。
1)匿名用户的设定

<匿名用户的上传>
编辑配置文件,输入以下内容,然后重启服务:



创建一个上传目录:

改变目录权限,使其属于ftp组:

使其具有w权限:

结果:

<匿名用户家目录修改>
编辑配置文件,输入以下内容:

我们在服务端的public目录下创建一个文件,验证是否修改了匿名用户的家目录:

在客户端远程连接查看:

结果显示加目录修改成功。
<匿名用户建立目录>
anon_mkdir_write_enable=YES|NO
<匿名用户下载>
anon_world_readable_only=YES|NO ##设定参数值为no表示匿名用户可以下载
<匿名用户删除>
anon_other_write_enable=YES|NO
编辑配置文件输入以下内容:

重启服务,在客户端进行测试:

<匿名用户使用的用户身份修改>
chown_uploads=YES
chown_username=student
chown_uploads_mode=0644
编辑配置文件,将匿名用户身份修改为student:

<最大上传速率>
anon_max_rate=102400
<最大链接数>
max_clients=2
编辑配置文件输入以下内容:

创建一个100M大小的文件,再去下载查看速度大小:


当连接服务端的用户大于限制的个数时,多余的用户不能建立连接,会出现以下情况:

2)本地用户的设定
local_enable=YES|NO ##本地用户登陆限制
write_enable=YES|NO ##本地用户写权限限制


能够登陆却没有上传权限:

本地用户不能登陆:


当修改为YES之后;

<本地用户家目录修改>
local_root=/directory
<本地用户上传文件权限>
local_umask=xxx

<限制本地用户登陆>
vim /etc/vsftpd/ftpusers ##用户黑名单
vim /etc/vsftpd/user_list ##用户临时黑名单
用户白名单设定
userlist_deny=NO
/etc/vsftpd/user_list ##参数设定,此文件变成用户白名单,只在名单中出现的用户可以登陆ftp
本地用户黑名单:


本地用户白名单:


3)ftp虚拟用户的设定
1 >前期准备工作
yum clean all
yum repolist
yum install vsftpd -y
systemctl start vsftpd
systemctl enable vsftpd
systemctl stop firewalld
systemctl disable firewalld
getenforce
setenforce 0
getenforce
vim /etc/sysconfig/selinux
SELINUX=disabled
2>创建虚拟帐号身份的文件(注意:不要出现空行或多余的空格)
vim /etc/vsftpd/loginusers ##文件名称任意

2). 对用户帐号和密码进行加密
db_load -T -t hash -f /etc/vsftpd/loginusers loginusers.db
修改权限:

3). 编辑帐号和密码处理的库文件
vim /etc/pam.d/ckvsftpd ##文件名称任意


4). 配置vsftpd配置文件
vim /etc/vsftpd/vsftpd.conf
pam_service_name=ckvsftpd # 虚拟用户信息认证文件名称
guest_enable=YES # 虚拟用户开启


虚拟帐号身份指定
guest_username=ftpuser
chmod u-w /home/ftpuser
虚拟帐号家目录独立设定
vim /etc/vsftpd/vsftpd.conf
local_root=/ftpuserhome/ U S E R u s e r s u b t o k e n = USER user_sub_token= USERusers​ubt​oken=USER

mkdir /ftpuserhome
chgrp ftpuser /ftpuserhome
chmod g+s /ftpuserhome
mkdir /ftpuserhome/ftpuser{1…3}
虚拟帐号配置独立

案例实现目标:
1). ftpuser1用户上传和下载文件限速;

vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/conf.d
mkdir -p /etc/vsftpd/conf.d



vim /etc/vsftpd/conf.d/ftpuser1
在此文件中设定配置文件中的所有参数,此文件的优先级高

创建两个文件:

测试下载限速:

2). ftpuser2用户上传和下载文件不限速, 并且可以上传文件;
编辑配置文件写入以下内容:
vim /etc/vsftpd/conf.d/ftpuser2
write_enable=YES
anon_upload_enable=YES

创建目录,改变权限:
mkdir /ftp/ftpuser2/upload/
chown ftpuser /ftp/ftpuser2/upload/
systemctl restart vsftpd

测试文件上传:

vsftpd(文件传输协议)服务相关推荐

  1. LinuxProbe 0x14 虚拟网站主机功能(基于端口)、Vsftpd服务传输文件、TFTP简单文件传输协议

    虚拟网站主机功能 基于端口号 基于端口号的虚拟主机功能可以让用户通过指定的端口号来访问服务器上的网站资源.在使用Apache配置虚拟网站主机功能时,基于端口号的配置方式是最复杂的. 因此我们不仅要考虑 ...

  2. ftp(文件传输协议)服务

    1.ftp的定义 ftp://  ##文件传输协议 2.ftp协议提供的软件 在rhel7中:vsftpd 3.部署ftp服务 ftp(文件传输协议)是Internet上常用的最老的网络协议之一,它的 ...

  3. Linux网络文件共享服务(一)存储类型和文件传输协议FTP

    成功不易,加倍努力! 网络文件共享服务 本章总目录 1 存储类型 1.1 DAS存储 1.2 NAS存储 1.3 SAN存储 1.4 三种存储比较 2 文件传输协议 FTP 2.1 FTP工作原理介绍 ...

  4. FTP文件传输协议介绍和常用命令

    学云计算的同学肯定会碰到使用FTP工具的时候,今天小千就来简单给大家介绍一下什么是FTP,和一些常见的FTP命令. Ftp 介绍 文件传输协议(File Transfer Protocol,FTP), ...

  5. ftp文件传输协议的匿名用户、系统用户的实现详解过程

    一.ftp含义 FTP(File Transfer Protocol)文件传输协议,主要目的使得主机之间可以共享文件.监听在tcp的21端口,是一个文件共享服务,主要工作在应用层:FTP使用tcp生成 ...

  6. FTP(文件传输协议)

    ftp (文件传输协议) FTP 是File Transfer Protocol(文件传输协议)的英文简称,是 TCP/IP 协议组中的协议之一.用于Internet上的控制文件的双向传输.同时,它也 ...

  7. FTP文件传输协议与部署,包括Linux系统、Windows系统和H3C路由交换设备部署

    1.FTP 1.1 定义 文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用 ...

  8. FTP文件传输协议详解

    简介:FTP是基于TCP协议之上的具有C/S架构的文件服务器. 需要通过控制连接20端口来控制双方的通信 需要通过数据连接21端口来进行双方的通信 主动模式:最大的特点是数据连接由服务器的20端口主动 ...

  9. 文件传输协议——FTP概述

    本篇主要参考FTP协议的维基百科: File Transfer Protocol FTP(FileTransfer Protocol)是在客户端和服务器之间传输文件的标准网络协议.FTP协议建立在C- ...

最新文章

  1. 网络分析概述之网络基础简介
  2. ICA独立成分分析—FastICA基于负熵最大
  3. 一个孩子能长大成人到底有多不容易? | 今日最佳
  4. 前端学习(3151):react-hello-react之DoM的diff算法
  5. 远程服务器时Ubuntu报错:qt.qpa.xcb: could not connect to display
  6. 二手房房价影响因素分析
  7. Pseudo-terminal will not be allocated because stdin is not a terminal
  8. H5小游戏——看你有多色
  9. 关于牛顿-欧拉法的外推和内推的理解
  10. 关于 promise链式调用与中止
  11. 涨停缩量平台调整选股策略(附筛选python代码)
  12. ILRuntime篇:前言
  13. ESP32 VHCI架构实现BLE扫描设备
  14. 音视频 — 图像基础
  15. 易助erp系统服务器安装,ERP教学-易助ERP系统在采购底稿中增加毛需求量实际库存量预计入...-系统,采购,底稿,增加,需求量 - 木夕网络资源分享平台...
  16. 【杂谈】windows10给U盘或者文件加密(设置访问密码)
  17. python计算化学质量分数_计算化学的百分比误差
  18. 解决Win10系统图标变白
  19. 基于单片机智能远程可控交通信号灯系统设计
  20. 21 _ 服务调用失败时有哪些处理手段?

热门文章

  1. 跟着廖雪峰学python 001
  2. 设置git命令使用的简写、缩写
  3. 系统首选dns服务器修改,如何在Windows系统中设置首选DNS
  4. Navicat创建事件不执行的情况?
  5. android回退页面刷新页面数据
  6. STC8单片机学习2
  7. 香港争当人民币离岸中心
  8. Java实现第九届蓝桥杯小朋友崇拜圈
  9. WordPress页面和搜索页伪静态方法
  10. 使用route add添加路由,使两个网卡同时访问内外网