目录
一、网络文件共享服务原理内容
1.存储类型
2.应用场景
3.总结
二、FTP——文件传输协议
1.工作原理介绍
2.vsftpd软件
2.1使用ftp
2.2延伸——FileZilla
2.3修改默认端口号
2.4主动模式端口
2.5被动模式端口
2.6匿名用户登录
2.7匿名用户上传
2.8匿名用户下载删除文件
2.8.1下载
2.8.2删除
2.9指定匿名用户上传文件的默认的所有者和权限
2.10禁锢用户
2.11提示信息
2.12传输速率
存储类型分为三种
DAS
DAS存储是最常见的一种存储方式,尤其是在中小企业应用中。PC中的硬盘或只有一个外部SCSI接口的JBOD都属于DAS架构。DAS是指存储设备直接连接到服务器总线上,存储设备只与一台独立的主机连接,其他主机不能使用这个存储设备。DAS存储设备与服务器主机之间的连接通道通常采用SCSI连接,DAS存储设备主要是磁盘阵列(RAID: Redundant Arrays of Independent Disks)、磁盘簇JBOD:Just a Bunch Of Disks)等。
NAS
NAS存储就是存储设备通过标准的网络拓扑结构(比如以太网)添加到一群计算机上。与DAS以及SAN不同,NAS是文件级的存储方法。采用NAS较多的功能是用来进行文件共享。NAS存储也通常被称为附加存储,顾名思义,就是存储设备通过标准的网络拓扑结构(例如以太网)添加到一群计算机上。NAS是文件级的存储方法,它的重点在于帮助工作组和部门级机构解决迅速增加存储容量的需求。如今更多的亲们采用NAS较多的功能是用来文档共享、图片共享、电影共享等等,而且随着云计算的发展,一些NAS厂商也推出了云存储功能,大大方便了企业和亲们等个人用户的使用。NAS产品是真正即插即用的产品。NAS设备一般支持多计算机平台,用户通过网络支持协议可进入相同的文档,因而NAS设备无需改造即可用于混合Unix/Windows NT局域网内,同时NAS的应用非常灵活。但NAS有一个关键性问题,即备份过程中的带宽消耗。与将备份数据流从LAN中转移出去的存储区域网(SAN)不同,NAS仍使用网络进行备份和恢复。NAS 的一个缺点是它将存储事务由并行SCSI连接转移了网络上。这就是说LAN除了必须处理正常的最终用户传输流外,还必须处理包括备份操作的存储磁盘请求
SAN
存储区域网络,这个是通过光纤通道或以太网交换机连接存储阵列和服务器主机,最后成为一个专用的存储网络。SAN经过十多年历史的发展,已经相当成熟,成为业界的事实标准(但各个厂商的光纤交换技术不完全相同,其服务器和SAN存储有兼容性的要求)
DAS | NAS | SAN | |
传输类型 | SCSI、FC | IP | IP、FC、SAS |
数据类型 | 数据块 | 文件 | 数据块 |
典型应用 | 任何 | 文件服务器 | 数据库应用 |
优点 | 磁盘与服务器分离 便于统一管理 |
不占用应用服务器资源 广泛支持操作系统 扩展较容易 即插即用,安装简单方便 |
高扩展性 高可用性 数据集中,易管理 |
缺点 | 连接距离短 数据分散,共享困难 存储空间利用率不高 扩展性有限 |
不适合存储量大的块级应用 数据备份及恢复占用网络带宽 |
相比NAS成本较高 安装和升级比NAS复杂 |
文件传输协议:File Transfer Protocol 早期的三个应用级协议之一,基于C/S结构
数据传输格式:二进制(默认)和文本
双通道协议:命令和数据连接 21 命令端口(权限,认证) 20数据端口(真实传数据)
两种模式:从服务器角度
主动(PORT style):服务器开启20端口主动连接客户端,传递数据
命令(控制):客户端:随机port ---> 服务器:21/tcp
数据:客户端:随机port <---服务器:20/tcp
服务端主动开启tcp/20端口 去传输数据给客户端
被动(PASV style):服务器开启随机端口,被动等待客户端连接,传递数据
命令(控制):客户端:随机port ---> 服务器:21/tcp
数据:客户端:随机port ---> 服务器:随机port /tcp
被动模式:服务器开启一个随机端口,被动等待客户端来连
用户认证:
用户和其共享目录
vsftpd软件是使用21端口
客户端可以在服务端使用的命令
可以人为指定被动或主动模式
客户端登入的位置是在服务端的/var/ftp下 客户端的根就是服务端/var/ftp文件夹
ftp客户端看到的时间是格林威治时间
可以更改ftp客户端到达服务端的指定位置
退出ftp可以使用Ctrl + D 或者输入quit进行退出
! + 命令 可以在客户端本地输入命令 (客户端登入服务端之后在客户端本地输入命令)
FTP是Linux客户端
FileZilla是Windows客户端
WIndows也可以查看ftp
connect_from_port_20=YES 主动模式端口为20
ftp_opt_port=20 (默认) 指定主动模式的端口
pasv_min_port=6000 0为随机分配,端口范围会影响客户端的并发数
pasv_max_port=6010
#指定客户端只能连接范围为6000-6010 客户端只能连接11台
anonymous_enable=YES 支持匿名用户,CentOS8 默认不允许匿名
no_anon_password=YES 匿名用户略过口令检查 , 默认NO
只对ftp执行读写执行权限
上传
在 vsftpd 软件中 只可以 下载有 读权限的文件, 没有读权限的文件时不可以直接下载的需要修改下面的选项
anon_world_readable_only=NO 只能下载全部读的文件, 默认YES
anon_umask=0333 指定匿名上传文件的umask,默认0077,注意:0333中的0不能省略
anon_other_write_enable=YES 可删除和修改上传的文件,默认NO
[root@node2 pub]#vim /etc/vsftpd/vsftpd.conf
anon_other_write_enable=YES
匿名用户上传文件默认的所有者是ftp 用户 是可以修改的
chown_uploads=YES #默认NO
chown_username=ghd
chown_upload_mode=0644
禁锢所有系统用户在家目录中
chroot_local_user=YES #禁锢系统用户,默认NO,即不禁锢
未修改配置前还可以切换目录
重启服务
[root@node2 ~]#ftp 192.168.241.11
#禁锢后 会 将ghd用户 的家目录作为根, 默认ftp服务的加目录是不能有写权限
Connected to 192.168.241.11 (192.168.241.11).
220 (vsFTPd 3.0.2)
Name (192.168.241.11:root): ghd
331 Please specify the password.
Password:
500 OOPS: could not read chroot() list file:/etc/vsftpd/chroot_list
Login failed.
ftp> cd /
421 Service not available, remote server has closed connection
#此处 所有的 用户 家目录权限需要修改
禁锢用户开启白名单和黑名单
chroot_list_enable=YES #默认是NO
chroot_list_file=/etc/vsftpd/chroot_list #默认值
当chroot_local_user=YES和chroot_list_enable=YES时,则chroot_list中用户不禁锢,即白名单,在文件里的不禁锢
当chroot_local_user=NO和chroot_list_enable=YES时, 则chroot_list中用户禁锢,即黑名单,在文件里的 禁锢
ftpd_banner="welcome to kgc ftp server"
banner_file=/etc/vsftpd/ftpbanner.txt
重启服务
[root@centos8 ~]#vim /etc/vsftpd/vsftpd.conf
anon_max_rate=1024000
local_max_rate=102400
[root@centos7 ~]#systemctl restart vsftpd
[root@centos7 ~]#dd if=/dev/zero of=/var/ftp/pub/bigfile bs=1M count=100
#生成测试文件