Linux网络服务之文件共享(FTP+NFS)

一、存储类型

1.DAS
DAS是指存储设备直接连接到服务器总线上,存储设备只与一台独立的主机连接,其他主机不能使用这个存储设备

2.NAS
NAS存储就是存储设备通过标准的网络拓扑结构(比如以太网)添加到一群计算机上

3.SAN
存储区域网络,这个是通过光纤通道或以太网交换机连接存储阵列和服务器主机,最后成为一个专用的存储网络。

二、FTP文件传输协议

2.1 ftp简介

1.ftp的定义

FTP是一种用于在计算机网络上传输文件的标准协议,基于C/S结构
通过FTP,用户可以在客户端和服务器之间进行文件的上传(上传到服务器)和下载(从服务器下载到本地计算机)操作

数据传输格式:二进制(默认)和文本

2.双通道协议

20 数据端口(数据传输)

21 命令端口 (账户验证 权限管理)

3.用户类型

1.匿名用户 ftp,anonymous,对应Linux用户ftp

2.系统用户:Linux用户,用户/etc/passwd,密码/etc/shadow。

3.虚拟用户:用于特定服务的用户。

2.2 FTP工作模式

2.2.1 主动模式

在这里插入图片描述

服务端主动连接 客户端,开启20端口 ,向客户端传输数据

2.2.2 被动模式

在这里插入图片描述

服务端开启随机端口,等待客户端连接

服务端通过命令端口21 ,告知客户端,开启了哪个随机端口

2.3 vsftp详解

vsftpd是一个在Linux和Unix系统上常见的FTP服务器软件

2.3.1 服务端安装vsftp

#安装#
##在服务端##
yum install -y vsftpd  #安装软件

systemctl start vsftpd #开启服务
systemctl status vsftpd #查看服务状态

在这里插入图片描述

2.3.2 客户端连接服务端

ftp 192.168.2.102 #客户端连接服务端  
#连接后 默认在服务端的 /var/ftp下 

#为什么默认在此目录?#
#因为会生成一个新用户,此目录为新用户的家目录,可以usermod -s 修改用户家目录 来更改ftp连接后的位置

2.4 FTP应用实例

2.4.1 修改默认命令端口号

#服务端#
vim /etc/vsftpd/vsftpd.conf #编辑配置文件

systemctl restart vsftpd #重启服务

在这里插入图片描述

#客户端#
ftp 192.168.2.100 2121 #连接服务端需要加端口号 

在这里插入图片描述
在这里插入图片描述

2.4.2 每个用户拥有独有配置

用户登录将使用自己的用户名和密码进行身份验证,并且只能访问其分配的用户目录。

服务端配置

vim /etc/vsftpd/vsftpd.conf

user_config_dir=/etc/vsftpd/conf.d/
#希望每个用户的配置文件存储在/etc/vsftpd/conf.d/目录下 


systemctl restart vsftpd #重启服务

在这里插入图片描述

mkdir -p /etc/vsftpd/conf.d #建立用户配置目录


#建立用户子配置,以用户test1和test2为例#
##test1##
vim /etc/vsftpd/conf.d/test1

local_root=/data/test1 #设置用户的FTP起始目录

##test2##
vim /etc/vsftpd/conf.d/test2

local_root=/data/test2
#建立目录
mkdir -p /data/{test1,test2}
#建立测试文件
touch  /data/test1/t11

touch  /data/test2/t22

在这里插入图片描述

三、NFS

NFS(Network File System)是一种用于在网络上分享和访问文件的协议。
NFS允许远程计算机通过网络访问另一台计算机上的文件系统,就像访问本地文件一样

3.1 NFS工作原理

在这里插入图片描述

1. 客户端请求:NFS 的客户端向 NFS 服务器发送文件访问请求。这可以是读取文件、写入文件或执行其他文件操作。

2. 访问协议:客户端使用 RPC(Remote Procedure Call)协议与服务器通信。客户端会发送特定的 RPC 调用来请求文件操作,如打开文件、读取文件或关闭文件。

3. NFS 服务端:NFS 服务器收到来自客户端的请求,并解析这些请求。服务器根据客户端请求的内容,在本地文件系统上执行相应的操作。

4. 文件传输:当服务器执行文件操作时,它会读取或写入相应的文件或目录。数据通过网络传输,从服务器发送到客户端或从客户端发送到服务器。

5. 返回结果:服务器完成请求后,会将执行结果返回给客户端。这可能包括成功的确认、文件内容、错误信息等。

3.2 NFS的优势

  • 节省本地存储空间,将常用的数据如:/home 目录,存放在NFS服务器上
  • 通过网络访问,将减少本地磁盘的使用率。

3.3 NFS 软件相关

软件包:nfs-utils(包括服务器和客户端相关工具,CentOS8 最小化安装时默认没有安装)

相关软件包:rpcbind(必须),tcp_wrappers

yum install -y nfs-utils rpcbind #安装服务

端口:2049(nfsd), 其它端口由portmap(111)分配

RPCbind 111

NFS服务主要进程

  • rpc.nfsd 最主要的NFS进程,管理客户端是否可登录
  • rpc.mountd 挂载和卸载NFS文件系统,包括权限管理
  • rpc.lockd 非必要,管理文件锁,避免同时写出错
  • rpc.statd 非必要,检查文件一致性,可修复文件

说明:CentOS 6 开始portmap进程由rpcbind代替

NFS相关文件

#日志#
/var/lib/nfs/

#配置文件# 
/etc/exports
/etc/exports.d/*.exports

3.4 NFS共享配置文件

#文件路径
/etc/eports 

#文件内容
/dir         主机1(opt,opt2,)      
  
共享文件夹       域名、ip。。。。
vim /etc/exports 
...
共享文件夹    允许访问的主机[权限] #添加的内容
...
:wq

#例如 
/data   *    #允许所有访问共享目录/data

3.5 NFS工具

3.5.1 exportfs

exportfs是一个用于在 Linux 操作系统上管理 NFS(Network File System)导出的命令。

##常用选项##

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

3.5.2 showmount

showmount -a #显示所有共享的目录

showmount -e <服务器主机名或IP地址> #显示特定 NFS 服务器上的共享目录

showmount -l #仅显示挂载点的主机名或IP地址

3.6 模拟实现NFS

1 服务端配置

#关闭防火墙和selinux
systemctl stop firewalld
setenforce 0
#安装nfs-utils和rpcbind软件包
yum install nfs-utils rpcbind -y

#新建共享目录,在目录内创建文件
mkdir /test
touch /test/t1

在这里插入图片描述

#编辑nfs配置文件
vim /etc/exports

/test  192.168.2.0/24 
#允许192.168.2.0网段的主机访问共享目录/test

在这里插入图片描述

#启动服务,查看详细的nfs信息 
systemctl start nfs
systemctl start rpcbind

showmount -e         #查看本机发布的NFS共享目录

exportfs -v       #查看NFS共享目录的详细信息

在这里插入图片描述

2 客户端配置


#挂载共享目录到本机挂载点目录下
mount 192.168.2.100:/test  /mnt

在这里插入图片描述

3 功能测试

#切换回服务端#
cd /test
touch thisistest #随意创建一个空文件
#返回客户端#
cd /mnt
ls  #查看挂载点目录下有没有服务端生成的文件

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: FTPNFS和Samba都是用于文件共享的协议,但它们的实现方式和适用场景有所不同。 FTP是一种基于TCP/IP协议的文件传输协议,用于在网络上传输文件。FTP服务器可以在Linux系统上使用,允许用户通过FTP客户端上传和下载文件。 NFS是一种网络文件系统协议,用于在网络上共享文件系统。它允许多个计算机通过网络访问同一个文件系统,就像它们在本地访问一样。NFSLinux系统上使用较为广泛,特别是在大型网络环境中。 Samba是一种开放源代码的软件套件,用于在Linux系统上实现Windows文件共享服务。它允许Linux系统作为文件服务器,与Windows系统进行文件共享。Samba还支持其他协议,如FTPNFS。 总的来说,FTP适用于简单的文件传输,NFS适用于多个计算机访问同一个文件系统,而Samba适用于Linux系统与Windows系统之间的文件共享。 ### 回答2: FTPNFS 和 Samba 都是用来实现文件共享的协议,但是它们在实现上有一些不同。 FTP(File Transfer Protocol)是一个用来传输文件的协议,通常被用来将文件从一个计算机上传到另一个计算机。它使用客户端-服务器模型,即客户端从服务器端下载或上传文件。使用 FTP 必须有一个 FTP 服务器,并且需要使用 FTP 客户端才能访问服务器FTP 是基于 TCP/IP 协议的,支持用户名和密码验证,可以使用加密的 SSL 层进行安全传输。 NFS(Network File System)是一种分布式文件系统,允许不同的计算机通过网络共享文件。它基于客户端-服务器模型,其中服务器端负责管理和存储文件,客户端可以通过网络访问这些文件。NFS 是 UNIX 和 Linux 等操作系统之间共享文件的首选方式之一。使用 NFS 时,需要在服务器端配置 NFS 服务器,并在客户端上安装 NFS 客户端,使用 NFS文件共享不需要用户名和密码认证。 Samba 是一种开放源代码软件,用于在 Linux 和 Unix 系统上实现 SMB/CIFS 协议,它可以使 Linux 和 Unix 系统与 Windows 系统间共享文件和打印机。Samba 允许 Linux 和 Unix 系统作为 SMB/CIFS 服务器或客户端使用,在 Linux 系统上可以使用 Samba 服务器来共享文件夹和打印机,也可以使用 Samba 客户端来连接 Windows 共享资源。Samba 支持基于用户身份验证的文件和打印机共享,可以为不同的用户提供不同级别的访问权限。 总体而言,在轻量级的文件共享中,FTP 是一个不错的选择,但在文件系统级别的共享中,NFS 是更好的选择,而在 Linux 和 Windows 平台之间的文件共享方案中,Samba 可以充分发挥其优势。这三个协议每个都有其优点和应用场景,使用时应根据具体需求进行选择。 ### 回答3: ftpnfs和samba都是在Linux系统中用于实现文件共享的服务,但具体实现方式和应用场景有所不同。 ftp,全称为文件传输协议(File Transfer Protocol),是一种标准化的协议,用于将文件从一个主机传送到另一个主机。它可以通过命令行或者ftp客户端进行操作,是一种跨平台的文件传输方法。 nfs,全称为网络文件系统(Network File System),是Linux系统中一种常见的文件共享方式,它可以让计算机通过网络访问到另一台计算机上的共享文件。它也可以通过命令行或者图形化工具进行操作,主要应用于局域网内的文件共享。 samba,是一种开源软件,用于在Linux系统上与Windows系统之间共享文件和打印机。它支持各种Windows文件共享协议,包括SMB/CIFS协议,可以让Linux系统与Windows系统无缝交互。 总的来说,ftpnfs和samba都可以用于在Linux系统中实现文件共享,但具体应用场景和操作方式有所不同。ftp是一种跨平台传输方式,适用于需要将文件从一个主机传输到另一个主机的场合;nfs适用于同一局域网内多台计算机之间的文件共享;samba则主要用于Linux系统与Windows系统之间的文件共享

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白幽幽白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值