Linux的网络文件共享服务之FTP服务

一.存储类型

1.1 存储类型分为三种

  • 直连式存储:Direct-Attached Storage,简称DAS

  • 存储区域网络:Storage Area Network,简称SAN(可以使用空间,管理也是你来管理)

  • 网络附加存储:Network-Attached Storage,简称NAS(存储和管理空间都在远程)

1.2 DAS

        DAS存储是最常见的一种存储方式,尤其是在中小企业应用中。PC中的硬盘或只有一个外部SCSI接口的JBOD都属于DAS架构。DAS是指存储设备直接连接到服务器总线上,存储设备只与一台独立的主机连接,其他主机不能使用这个存储设备。DAS存储设备与服务器主机之间的连接通道通常采用SCSI连接,DAS存储设备主要是磁盘阵列(RAID、磁盘簇JBOD)等。

1.3 SAN

        存储区域网络,这个是通过光纤通道或以太网交换机连接存储阵列和服务器主机,最后成为一个专用的存储网络。SAN经过十多年历史的发展,已经相当成熟,成为业界的事实标准(但各个厂商的光纤交换技术不完全相同,其服务器和SAN存储有兼容性的要求)。

1.4 NAS

        NAS存储就是存储设备通过标准的网络拓扑结构(比如以太网)添加到一群计算机上。与DAS以及SAN不同,NAS是文件级的存储方法。采用NAS较多的功能是用来进行文件共享。NAS存储也通常被称为附加存储,顾名思义,就是存储设备通过标准的网络拓扑结构(例如以太网)添加到一群计算机上。NAS是文件级的存储方法,它的重点在于帮助工作组和部门级机构解决迅速增加存储容量的需求。

1.5 图解

1.6 三种存储架构的应用场景

  • DAS虽然比较古老了,但是还是很适用于那些数据量不大,对磁盘访问速度要求较高的中小企业

  • NAS多适用于文件服务器,用来存储非结构化数据,虽然受限于以太网的速度,但是部署灵活,成本低

  • SAN则适用于大型应用或数据库系统,缺点是成本高、较为复杂

二. FTP文件传输协议

1. 了解FTP服务

        FTP(file Transfer Protocol,文件传输协议),是典型的C/S架构的应用层协议,由客户端软件和服务端软件两个部分共同实现文件传输功能,FTP客户端和服务器之间的连接时可靠的,面向连接的,为数据的传输提供了可靠的保证。

FTP是TCP传输协议,也叫双通道协议,主要使用20和21端口

        20端口用来传输数据

        21端口用来建立连接(传输指令)

FTP是一种文件传输协议,它支持两种模式

① 主动模式:

ftp服务器主动开启20端口去连接客户端,传递真实的数据

② 被动模式:

服务器会开启一个随机端口,被动等待客户端来连接

小操作:

192.168.44.20作为服务端

192.168.44.30作为客户端

ftp 软件里面的一些指令

退出:quit  或者 ctrl + d

③ 用户认证:

匿名用户:ftp   anonymous     对应Linux用户ftp

系统用户:Linux用户    用户/etc/passwd      密码/etc/shadow

虚拟用户:特定服务的专用用户,独立的用户/密码文件

2. FTP 服务状态码

1XX:信息                   125:数据连接打开
2XX:成功类状态        200:命令OK     230:登录成功
3XX:补充类              331:用户名OK
4XX:客户端错误       425:不能打开数据连接
5XX:服务器错误       530:不能登录

3.常见 FTP 相关软件

Filezilla、Wu-ftpd、Proftpd、Pureftpd,、Server、Serv-U、Wing FTP Server、IIS

vsftpd:Very Secure FTP Daemon,CentOS 默认FTP服务器

高速,稳定,下载速度是WU-FTP的两倍

4. vsftpd 软件介绍

用户认证配置文件:/etc/pam.d/vsftpd

配置文件:/etc/vsftpd/vsftpd.conf

用户和其共享目录:

  • 匿名用户(映射为系统用户ftp )共享文件位置:/var/ftp

  • 系统用户共享文件位置:用户家目录

  • 虚拟用户共享文件位置:为其映射的系统用户的家目录

5.vsftpd 服务常见配置

5.1 修改默认命令端口

服务端:

客户端:

5.2 主动模式端口

connect_from_port_20=YES 主动模式端口为20
ftp_data_port=20 (默认) 指定主动模式的端口

5.3 被动模式端口

pasv_min_port=6000   0为随机分配,端口范围会影响客户端的并发数
pasv_max_port=6010
#最多11人同时登录

5.4 使用当地时间

use_localtime=YES 使用当地时间(默认为NO,使用GMT)
格林威治        +8 

5.5 匿名用户登录

anonymous_enable=YES 支持匿名用户,CentOS8 默认不允许匿名
no_anon_password=YES 匿名用户略过口令检查 , 默认NO

服务端

客户端

5.6 匿名用户上传  下载

anon_upload_enable=YES 匿名上传,注意:文件系统权限
anon_mkdir_write_enable=YES 匿名建目录

客户端

服务端修改配置

客户端测试

下载上传的文件失败

在服务端给该文件增加可读权限

客户端

根目录不可以有写的权限

加上写的权限测试

去掉写的权限测试

5.6.1 ftp权限问题

根目录不要随便更改权限,根目录不可以有写的权限,否则登录不上

  (只可以给根 (/var/ftp ) 下的文件夹有写的权限 )

上传:

1.程序开放权限

2.文件夹要有权限

下载:

文件一定要有读的权限

5.7 匿名用户删除文件

anon_other_write_enable=YES

5.8 指定匿名用户的上传文件的默认的所有者和权限

chown_uploads=YES        #默认NO
chown_username=zhangsan
chown_upload_mode=0644

5.9 Linux系统用户

local_enable=YES 是否允许linux用户登录
write_enable=YES 允许linux用户上传文件
local_umask=022 指定系统用户上传文件的默认权限对应umask

5.10 禁锢系统用户

#禁锢所有系统用户在家目录中
chroot_local_user=YES #禁锢系统用户,默认NO,即不禁锢

#禁锢用户开启白名单和黑名单
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中用户禁锢,即黑名单,在文件里的禁锢

操作:

服务端:

注意:

那三个配置文件配合开启

文件夹lisi必须要有执行权限

5.11 将所有系统用户映射为指定的guest用户

guest_enable=YES 
guest_username=ftp  

5.12 日志

#wu-ftp 日志:默认启用
xferlog_enable=YES #启用记录上传下载日志,此为默认值
xferlog_std_format=YES #使用wu-ftp日志格式,此为默认值
xferlog_file=/var/log/xferlog #可自动生成, 此为默认值



#vsftpd日志:默认不启用
dual_log_enable=YES 使用vsftpd日志格式,默认不启用
vsftpd_log_file=/var/log/vsftpd.log 可自动生成, 此为默认值

5.13 提示信息

ftpd_banner="welcome to MyWorld ftp server"

#或者写在一个文件里面
banner_file=/etc/vsftpd/ftpbanner.txt 

5.14 pam模块实现用户访问

由于ftp是明文传输, 抓取是可可以获取密码的 默认是不让使用root 用户登录

[root@node2 ~]#vim /etc/vsftpd/ftpusers
#加入此文件默认是 拒绝
将root注释掉,就意味着允许他登录



[root@node2 vsftpd]#vim /etc/vsftpd/user_list

默认不让登录的用户

原理

如果将pam模块里面的deny 换成allow  那么 ftpusers 里面的root得取消注释,user_list还是注释

5.15 传输速率

anon_max_rate=0 匿名用户的最大传输速率,以字节为单位,比如:1024000表示1MB/s
local_max_rate=0 本地用户的最大传输速率



anon_max_rate=1024000
local_max_rate=102400

百度网盘限速就是如此

三.建立内网的yum仓库

① 通过 ftp 服务搭建内网yum仓库服务器

服务端:

① 先关闭防火墙和防护

② 提供安装包

客户端:

① 关闭防火墙和防护

② 搭建仓库

测试:

② 通过http协议搭建内网yum仓库服务器

服务端:

① 关闭防火墙

② 提供安装包,如果有nginx先关闭,防止80端口占用

客户端:

① 关闭防火墙

② 搭建仓库

测试:

baseurl 怎么写:

file 本地

http  http协议   需要用http  nginx  软件

https  用上(只是多了个加密)

ftp   文件传输协议

  • 14
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值