网络文件共享服务

1.存储类型

分为三种:

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

指将存储设备(如硬盘)直接连接到服务器的内部总线或通过外部接口(如USB、SATA、SCSI等)连接到服务器。这种存储方式简单、成本较低,适用于小型网络环境或单机系统,但是不便于多台服务器共享数据,并且扩展性有限。

     

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

高速专用网络,将存储设备集中管理并通过光纤通道(Fibre Channel)、iSCSI等技术与服务器相连。服务器可以像访问本地存储一样快速地访问SAN中的共享存储资源。SAN具有高带宽、低延迟的特点,适合大型企业应用和数据库服务,支持存储资源共享、备份和容灾策略实施。

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

一种独立于服务器的文件级存储解决方案,通过标准网络协议(如TCP/IP,通常是NFS或FTP)为多台客户端提供文件共享服务。NAS设备通常包含操作系统、存储介质和网络接口,用户可以通过网络进行文件读写操作。NAS非常适合文件共享、备份以及中小型企业存储需求,易于部署和管理,但相比SAN在性能上可能稍逊一筹。

网络文件共享服务_第1张图片

2. 三种存储架构的应用场景:

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

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

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

3. FTP文件传输协议

FTP工作原理介绍:

文件传输协议:File Transfer Protocol 早期的三个应用级协议之一,基于C/S结构

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

双通道协议:命令和数据连接   

                     21 命令端口(权限,认证)   20数据端口(真实传数据)

两种模式 :从服务器角度

主动(PORT style):服务器主动连接客户端

  命令(控制):客户端:随机port ---> 服务器:21/tcp

  数据:客户端:随机port <---服务器:20/tcp

被动(PASV style):服务器被动等待客户端连接

  命令(控制):客户端:随机port ---> 服务器:21/tcp

  数据:客户端:随机port ---> 服务器:随机port /tcp

4.vsftpd软件介绍

vsftpd (Very Secure FTP Daemon) 是一个非常流行且安全的开源FTP服务器软件,专为类Unix系统设计,如Linux、FreeBSD等。它以其高性能、低内存占用和高度的安全性著称,被广泛应用于各种规模的企业和个人环境中。

主要特点:

安全性:vsftpd支持多种安全功能,包括强制数据传输加密(FTPS或FTP-over-SSL)、CHROOT限制用户访问、禁止匿名登录、启用PAM认证机制以增强权限控制,并可配置防火墙规则以确保仅允许特定IP地址或网络访问FTP服务。

性能与资源优化:vsftpd的设计目标之一是轻量级和高效运行,因此即使在资源有限的环境下也能提供良好的性能表现。

灵活性:支持虚拟用户模式,可通过数据库存储用户信息并进行身份验证。提供详细的配置选项,可以针对不同的用户群组设定独立的上传/下载权限、速率限制、目录访问限制等。

并发连接处理:可以同时处理大量并发FTP会话,并能有效防止DoS攻击。

文件传输模式:支持ASCII和二进制两种传输模式,以及被动和主动两种FTP连接模式。

SELinux兼容:与SELinux(Security-Enhanced Linux)兼容,能够更好地融入到具有严格安全策略的环境中。

5.基础操作

(配置文件 /etc/vsftpd/vsftpd.conf)

安装服务端

yum install vsftpd -y
安装 ftp  服务器
systemctl start vsftpd
开启服务

客户端连接服务端

ftp (客户端 工具)      服务端地址

yum  install  ftp  -y

使用ftp 命令连接  ftp IP地址:连接服务端

网络文件共享服务_第2张图片

用户名称:用户分为三类

匿名用户:任何人都可以使用ftp,anonymous用户,无需验证口令即可登入 FTP 服务端。

本地用户:使用 FTP 服务器中的用户、密码信息

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

我们在安装程序的是时候会自动生成一个程序用户

 

所以我们在使用ftp连接时,会直接进入ftp程序用户的家目录

连接时,可以在前面看到不同的数字信息,这些数字代表不同的含义

1xx: 这些信息代码表示临时响应,请求已收到并正在处理中。

例如:125 Data connection already open; transfer starting表示数据连接已经建立,传输即将开始。

2xx: 成功的执行或结束命令。

例如:

220 Service ready for new user. 表示FTP服务器准备接受新的用户连接。

230 User logged in, proceed. 表示用户成功登录。

3xx: 需要进一步的动作才能完成请求。

例如:

331 Password required for user. 表示用户名有效,但需要提供密码。

4xx: 客户端错误,通常是语法错误或者命令无法执行。

例如:

425 Can't open data connection. 表示不能打开数据连接。

421 Timeout. 表示超时,需要重新登录

5xx: 服务器错误,由于内部错误或者资源不可用导致命令无法执行。

例如:

530 Login incorrect. 表示登录失败,用户名或密码不正确。

550 Permission denied.表示没有权限访问指定的文件或目录。

其他代码:

421 :Service not available, closing control connection.表示服务不可用,关闭控制连接。

500 :Syntax error, command unrecognized. 命令格式错误或未识别。

553 :Requested action not taken: file name not allowed 文件名不允许,比如上传文件名不符合服务器规则

登录后,可以输入help查可以使用哪些命令

输入quit退出,也可以按ctrl  d 退出

网络文件共享服务_第3张图片

6.匿名用户

vim  /etc/vsftpd/vsftpd.conf

添加以下内容

anonymous_enable=YES    允许匿名访问模式。
anon_umask=022    匿名用户上传文件的 umask 值。
anon_upload_enable=YES    允许匿名用户上传文件
anon_mkdir_write_enable=YES    允许匿名用户创建目录
anon_other_write_enable=YES    允许匿名用户修改目录名或删除目录

systemctl restart vsftpd

重启服务后会发现,还是不能创建文件

这是因为我们对程序用户的家目录还没有权限

匿名用户的 FTP 根目录的属主与属组都是 root,所以匿名用户没有写入权限,没有写入权限,就无法创建文件

添加权限setfacl   -m  u:ftp:rwx   /var/ftp/pub

在添加权限时,不能写到/var/ftp,一旦修改之后,系统会拒绝匿名用户登录,因为添加此项权限后,ftp用户就可以切换真正的系统根。会对文件安全带来威胁

下载文件:

从服务端复制一些文件到/var/ftp/pub目录中

输入get  文件名 就可以下载文件了

可以下载上传上去的文件

[root@node2 pub]#vim /etc/vsftpd/vsftpd.conf
anon_world_readable_only=NO
anon_umask=0333          

可以删除文件

[root@node2 pub]#vim /etc/vsftpd/vsftpd.conf
anon_other_write_enable=YES
​
​
​ftp> cd pub. 
ftp> ls
ftp> delete abc.txt 
ftp> ls
227 Entering Passive Mode (192,168,91,101,112,18).
150 Here comes the directory listing.
-rw-r--r--    1 0        0        1073741824 Aug 04 08:02 bigfile
-rw-------    1 14       50            471 Aug 04 09:20 dm.sh
226 Directory send OK.
​

匿名用户上传文件默认的所有者是ftp 用户 是可以修改的

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

例子: 系统用户登录:使用普通用户登录默认是在 系统用户的 家目录

[root@localhost ~]#ftp 192.168.91.101
Connected to 192.168.91.101 (192.168.91.101).
220 (vsFTPd 3.0.2)
Name (192.168.91.101:root): zhangsan
331 Please specify the password.
Password:
ftp> pwd
257 "/home/zhangsan"
​
​###默认是可以上传下载
注意目录
​
​#####也可以 去别的目录下载####
权限控制不是很安全
​
​禁锢 在 自己的 家目录

​

6.NFS简介

NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。

NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利。

特点:

采用TCP/IP传输网络文件

安全性低

简单易操作

适合局域网环境

NFS原理

网络文件共享服务_第4张图片

  1. 首先服务器端启动RPC服务,并开启111端口
  2. 服务器端启动NFS服务,并向RPC注册端口信息
  3. 客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口
  4. 服务端的RPC(portmap)服务反馈NFS端口信息给客户端。
  5. 客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输。

 NFS共享存储服务配置

yum install nfs-utils.x86_64 -y#安装nfs服务软件包

[root@localhost ~]# mkdir /mnt/share#新建共享目录

[root@localhost ~]# vim /etc/exports#编辑配置文件

你可能感兴趣的:(网络,服务器,运维)