网络文件共享服务

文章目录


一、存储类型

存储类型分为三种:

  • 直连式存储(Direct-Attached Storage),简称DAS:存储设备直接连接到服务器总线上,存储设备只与一台独立的主机连接,其他主机不能使用这个存储设备。
  • 网络附加存储(Network-Attached Storage),简称NAS:NAS存储也通常被称为附加存储,顾名思义,就是存储设备通过标准的网络拓扑结构(例如以太网)添加到一群计算机上。NAS是文件级的存储方法,它的重点在于帮助工作组和部门级机构解决迅速增加存储容量的需求。
  • 存储区域网络(Storage Area Network),简称SAN(可以使用空间,管理也是你来管理):存储区域网络,这个是通过光纤通道或以太网交换机连接存储阵列和服务器主机,最后成为一个专用的存储网络。

三种存储架构的应用场景

  • DAS虽然较为落后,但是还是很适用于那些数据量不大,对磁盘访问速度要求较高的中小企业。
  • NAS多适用于文件服务器,用来存储非结构化数据,虽然受限于以太网的速度,但是部署灵活,成本低。
  • SAN则适用于大型应用或数据库系统,缺点是成本高、较为复杂。

二、FTP文本传输协议

FTP工作原理介绍

文件传输协议,基于C/S结构,双通道协议,21端口为命令端口,传输认证和权限,20端口为数据端口,传输真实数据。

两种连接模式

  • 主动模式:服务器主动连接客户端
    过程:客户端基于TCP协议随机选择端口号连接服务器的21端口,服务器用20端口去连接客户端的端口,以传输数据。
    命令(控制):客户端:随机port ---> 服务器:21/tcp
    数据:客户端:随机port <---服务器:20/tcp
  • 被动模式
    过程:客户端基于TCP协议随机选择端口号连接服务器的21端口,服务器开启一个随机端口等待客户端连接。
    命令(控制):客户端:随机port ---> 服务器:21/tcp
    数据:客户端:随机port ---> 服务器:随机port /tcp

用户认证:

  • 匿名用户:ftp,anonymous,对应Linux用户ftp
  • 系统用户:Linux用户,用户/etc/passwd,密码/etc/shadow
  • 虚拟用户:特定服务的专用用户,独立的用户/密码文件

vsftpd软件介绍

vsftpd:Very Secure FTP Daemon,CentOS 默认FTP服务器,单机最多可支持15000个并发。

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

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

用户和其共享目录

  • 匿名用户(映射为系统用户ftp )共享文件位置:/var/ftp
  • 系统用户共享文件位置:用户家目录
  • 虚拟用户共享文件位置:为其映射的系统用户的家目录

安装过程

bash 复制代码
安装服务端
yum install vsftpd -y
#安装 ftp  服务器
systemctl start vsftpd
#开启服务

在别的机器上登录时需要安装ftp软件,没有客户端软件就无法登录。

vsftpd服务常见配置

修改默认命令端口

bash 复制代码
服务端
vim /etc/vsftpd/vsftpd.conf
#随便一行插入
listen_port=2121
vim /etc/vsftpd/vsftpd.conf
#随便一行插入
listen_port=2121

然后可以在服务端使用命令 ss -natp监听端口号。

注意连接时需要指明端口号,但不需要-p。

注意:

1.根目录不允许有最大的777权限,否则会登录不上。

2.是否可以上传文件或者新建文件,需要注意软件配置,登录用户的权限有关。

三、NFS工作原理

工作原理

NFS:Network File System 网络文件系统,通过使用 NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件,基于RPC(Remote Procedure Call Protocol 远程过程调用)实现。

安装软件包

yum install nfs-utils.x86_64 -y

日志文件:/var/lib/nfs

nfs配置文件:

/etc/exports

/etc/exports.d/*.exports

NFS共享配置文件格式

bash 复制代码
/share(共享文件夹)       主机1(opt1,opt2)     主机2(opt1,opt2)...

主机格式可以为网段,主机名,通配符等等。

默认选项:(ro,sync,root_squash,no_all_squash)

  • ro,rw 只读和读写
  • async 异步,数据变化后不立即写磁盘,先写入到缓冲区中,过一段时间再写入磁盘,性能高,安全性 低
  • sync(1.0.0后为默认)同步,数据在请求时立即写入共享存储磁盘,性能低,安全性高
  • root_squash (默认)远程root映射为nfsnobody,UID为65534,CentOS8 为nobody,CentOS 7以前的版本为nfsnobody
  • no_root_squash 远程root映射成NFS服务器的root用户
  • all_squash 所有远程用户(包括root)都变成nfsnobody,CentOS8 为nobody
  • no_all_squash (默认)保留共享文件的UID和GID
  • anonuid和anongid 指明匿名用户映射为特定用户UID和组GID,而非nobody,可配合all_squash使用

NFS工具

exportfs:可用于管理NFS导出的文件系统

常见选项:

  • -v #查看本机所有NFS共享
  • -r #重读配置文件,并共享目录
  • -a #输出本机所有共享
  • -au #停止本机所有共享

远端客户怎么知道有哪些共享文件夹

然后挂载到本地即可查看远端文件夹的内容。

相关推荐
赵大仁1 分钟前
在 CentOS 7 上安装 Node.js 20 并升级 GCC、make 和 glibc
linux·运维·服务器·ide·ubuntu·centos·计算机基础
vvw&6 分钟前
Docker Build 命令详解:在 Ubuntu 上构建 Docker 镜像教程
linux·运维·服务器·ubuntu·docker·容器·开源
冷曦_sole32 分钟前
linux-21 目录管理(一)mkdir命令,创建空目录
linux·运维·服务器
最后一个bug33 分钟前
STM32MP1linux根文件系统目录作用
linux·c语言·arm开发·单片机·嵌入式硬件
dessler1 小时前
Docker-Dockerfile讲解(二)
linux·运维·docker
卫生纸不够用1 小时前
子Shell及Shell嵌套模式
linux·bash
world=hello1 小时前
关于科研中使用linux服务器的集锦
linux·服务器
soragui2 小时前
【ChatGPT】OpenAI 如何使用流模式进行回答
linux·运维·游戏
白云coy3 小时前
Redis 安装部署[主从、哨兵、集群](linux版)
linux·redis