网络文件共享服务

本文详细介绍了网络文件共享服务,包括直连式存储(DAS)、网络附加存储(NAS)、存储区域网络(SAN)以及FTP和NFS文件传输协议的工作原理、特点和配置,帮助读者理解并管理这些技术在企业环境中的应用。
摘要由CSDN通过智能技术生成

网络文件共享服务

一.存储类型

存储类型为三种

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

网络附加存储(NAS):NAS存储就是存储设备通过标准的网络拓扑结构(比如以太网)添加到一群计算机上,NAS是文件级的存储方法

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

特点:

DAS虽然偏旧,但是适用于数据量不大,对磁盘访问要求较高的中小企业

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

SAN适用于大型应用或数据库系统,成本高,复杂

二.FTP文件传输协议

1.FTP工作原理

FTP基于C/架构,数据传输格式为二进制或文本,使用双通道协议:命令端口:21(权限,认证)数据端口:20(传输真实数据)

两种模式:从服务器角度

主动模式:服务端主动连接客户端

客户端通过服务端的21端口进行权限认证,服务端主动开启20端口与客户端进行连接

被动模式:服务端被动等待客户端连接

客户端通过服务端21端口进行权限认证,服务端开启随机的端口,等待客户端连接进行传输数据

2.用户认证

你妈用户:ftp,anonymous对应ftp用户

系统用户:linux用户,用户/etc/passwd

虚拟用户:特定服务的专用用户

3.FTP软件

vsftpd:Centos默认FTP服务器,高速稳定

4.FTP软件介绍

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

配置文件:

/etc/vsftpd/vsftpd.conf

用户和其共享目录:

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

系统用户:用户家目录

虚拟用户:为其映射的系统用户的家目录

5.基础操作

安装客户端

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

注意关闭双端防火墙

客户端连接服务端

[root@localhost /]#ftp 192.168.82.100
Connected to 192.168.82.100 (192.168.82.100).
220 (vsFTPd 3.0.2)
Name (192.168.82.100:root): ftp
//ftp为匿名用户,默认没有密码


ftp> help
Commands may be abbreviated.  Commands are:

!		debug		mdir		sendport	site
$		dir		mget		put		size
account		disconnect	mkdir		pwd		status
append		exit		mls		quit		struct
ascii		form		mode		quote		system
bell		get		modtime		recv		sunique
binary		glob		mput		reget		tenex
bye		hash		newer		rstatus		tick
case		help		nmap		rhelp		trace
cd		idle		nlist		rename		type
cdup		image		ntrans		reset		user
chmod		lcd		open		restart		umask
close		ls		prompt		rmdir		verbose
cr		macdef		passive		runique		?
delete		mdelete		proxy		send
//help显示可以命令
!ls显示当前客户端目录,ls为服务端家目录
匿名用户家目录/var/ftp
passive可以改变主被动模式

6.服务端配置

修改默认端口

listen_port=555

修改此行知道连接时的端口,重启(属于安全加固操作)

客户端连接时需要指明端口

[root@localhost /]lftp 192.168.91.101  555

主动模式端口

connect_from_port_20=YES
ftp_data_port=20   默认配置

被动模式端口

pasv_min_port=6000   
pasv_max_port=6010
//0表示随机分配,端口的范围会影响客户端并发数

使用当地时间

use_localtime=YES 使用当地时间(默认为NO,使用GMT)

匿名用户登录限制

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

匿名用户上传

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

//chmod   777   /var/ftp/pub

不能给FTP根目录写权限,只能给下级子目录写权限

500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Login failed.
421 Service not available, remote server has closed connection

匿名用户下删除文件

anon_world_readable_only=NO  只能下载全部读的文件, 默认YES
anon_umask=0333              指定匿名上传文件的umask,默认077,注意:0333中的0不能省略
anon_other_write_enable=YES  可删除和修改上传的文件,默认NO

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

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.100
Connected to 192.168.91.100 (192.168.91.100).
220 (vsFTPd 3.0.2)
Name (192.168.91.100:root): zhangsan
331 Please specify the password.
Password:
ftp> pwd
257 "/home/zhangsan"

//默认是可以上传下载

//也可以 去别的目录下载

让每个用户拥有独有配置

user_config_dir=/etc/vsftpd/conf.d/ 
//可以新建用户文件夹,存放用户的个性化配置
[root@localhost /]#mkdir -p /etc/vsftpd/conf.d
[root@localhost /]#vim  /etc/vsftpd/conf.d/zhangsan

local_root=/home/zhangsan    //限制zhangsan只能在自己的家目录下操作


禁锢系统用户

禁锢所有系统用户在家目录中

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中用户禁锢,即黑名单

日志

ftp 默认启动日志

//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 可自动生成, 此为默认值

两种格式不同,看具体喜好

限速

[root@localhost /]#vim /etc/vsftpd/vsftpd.conf
anon_max_rate=1024000    //匿名用户
local_max_rate=10240000  //本地用户
//限制用户下载速度1024000表示1m/s

三.NFS

1.NFS工作原理

服务端启动NFS服务会将端口信息发送给PRC,当客户端访问服务端时PRC会告知NFS的端口号,NFS以访问本地文件的形式访问一块磁盘,客户端通过网络将客户端的文件挂载到自己的文件夹,实现访问服务端的文件

NFS优势:节省本地存储空间,将常用的数据,如:/home目录,存放在NFS服务器上且可以通过网络访问,本地终端将可减少自身存储空间的使用。

2.NFS软件介绍

软件包:nfs-utils

相关软件包:rpcbind(必须)

kernel支持:nfs.ko

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

NFS服务主要进程:

rpc.nfsd 最主要的NFS进程,管理客户端是否可登录

rpc.mountd 挂载和卸载NFS文件系统,包括权限管理

rpc.lockd 非必要,管理文件锁,避免同时写出错

rpc.statd 非必要,检查文件一致性,可修复文件

日志:/var/lib/nfs/

NFS配置文件:/etc/exports
/etc/exports.d/*.exports

3.共享配置文件格式

/dir        主机1(opt1,opt2)     主机2(opt1,opt2)...

可用通配符*表示所有客户端

IP networks:两种掩码格式均支持
172.18.0.0/255.255.0.0
172.18.0.0/16

opt选项

默认选项:(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使用

4.NFS工具

exportfs

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

选项说明
-v查看本机所有NFS共享
-r重读配置文件,并共享目录

showmount

showmount -e hostname

查看挂载的文件夹

开机挂载

vim /etc/fstab

ip:/public   /mnt/nfs   nfs   defaults,_netdev  0  0
挂载的文件     挂载点    文件系统     

实际操作

//服务端

[root@localhost ftp]#cd /
[root@localhost /]#mkdir test
[root@localhost /]#cd /test
[root@localhost test]#touch aaa
[root@localhost test]#vim /etc/exports
/test  *
将test共享给所有主机

[root@localhost test]#systemctl start nfs
[root@localhost test]#systemctl start rpcbind
[root@localhost test]#exportfs -v   //查看本机所有NFS共享
/test         	<world>(sync,wdelay,hide,no_subtree_check,sec=sys,ro,secure,root_squash,no_all_squash)
[root@localhost test]#


//客户端
[root@localhost /]#systemctl start nfs
[root@localhost /]#systemctl start rpcbind
[root@localhost /]#mount 192.168.82.100:/test /mnt
//将服务端的文件挂载过来
[root@localhost /]#cd /mnt
[root@localhost mnt]#ls
aaa

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值