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在性能上可能稍逊一筹。
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地址:连接服务端
用户名称:用户分为三类
匿名用户:任何人都可以使用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 退出
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
例子: 系统用户登录:使用普通用户登录默认是在 系统用户的 家目录
[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" ? ?###默认是可以上传下载 注意目录 ? ?#####也可以 去别的目录下载#### 权限控制不是很安全 ? ?禁锢 在 自己的 家目录 ?
NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。
NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利。
特点:
采用TCP/IP传输网络文件
安全性低
简单易操作
适合局域网环境
?NFS共享存储服务配置
yum install nfs-utils.x86_64 -y#安装nfs服务软件包
[root@localhost ~]# mkdir /mnt/share#新建共享目录
[root@localhost ~]# vim /etc/exports#编辑配置文件
?