Linux入门 23_网络文件系统

一、网络文件系统

网络文件系统,英文Network File System(NFS),是由SUN公司研制的UNIX表示层协议(presentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样,能够支持在不同类型的系统之间通过网络进行文件共享。

二、samba基本信息

服务启动脚本smb.service
主配置目录/etc/samba
主配置文件/etc/smb.conf
安全上下文samba_share_t
端口139/445
安装包samba和samba-common

三、samba的安装与启用

samba的安装:

dnf install samba samba-common samba-client -y

samba服务启动:

systemctl enable --now smb

samba服务启用

firewall-cmd --permanent --add-service=samba
firewall-cmd --reload

测试:

smbclient  -L //172.25.254.173	##当要输入root密码时请直接回车

实验:

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

3.samba用户的建立

1.samba用户的建立

smbpasswd -a westos		##添加用户,用户必须是在本地存在的用户
pdbedit -L				##查看用户列表
pdbedit -x westos		##删除用户

实验:

这里的密码设置不会影响到本地用户的密码
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以刚刚建立的用户身份进行登陆
在这里插入图片描述

4、samba用户访问家目录

当selinux开启时用户不能访问自己的加目录,修改selinux中smb波尔值时用户可以访问家目录

setsebool  -P samba_enable_home_dirs on

在这里插入图片描述

5.samba服务共享目录

1、建立文件目录westosdir,在 /etc/samba/smb.conf 中添加要 共享名称、共享说名、指定共享的本机目录,此时可查看到目录已经共享
在这里插入图片描述
在这里插入图片描述
2、在/westosdir/westosflie{1…3}建立3个文件,进行登陆访问,此时会因为selinux的原因出现报错,因为用户自己建立的目录要想通过smb共享必须将安全上下文指定为:samba_share_t 执行命令修改:

semanage fcontext -a -t samba_share_t '/westosdir(/.*)?'
restorecon -RvvF /westosdir/

此时可访问到刚刚建立的文件
在这里插入图片描述

6.samba的访问控制

全局访问控制黑白名单

编辑westosa中samba配置文件smb.conf,在全局模块【GLOBAL】中设置允许访问列表(hosts allow),重启smb服务后只有全局白名单中的主机可以挂载访问所有samba服务的共享目录(对samba整体生效),此时只有westosa可以挂载samba服务器westosa中的共享目录,westosb不能挂载samba服务器westosa中的共享目录,westosb在访问时系统提示非法连接请求

编辑samba配置文件在全局模块中设置禁止访问列表(hosts deny),重启smb服务后全局黑名单中的主机不能挂载访问所有samba服务的共享目录,此时只有westosb可以挂载samba服务器westosa中的共享目录,westosa不能挂载samba服务器westosa中的共享目录

局部访问控制黑白名单

编辑samba配置文件,注释掉全局samba访问控制设定(全局控制设定的优先级最高),如果是在某单个共享目录语句块中设置允许访问列表(hosts allow)/禁止访问列表(hosts deny),那么此时(只有局部白名单/局部黑名单)中的主机(可以/不能)挂载访问该共享目录

7.samba的常用配置参数

writable = yes##可写
write list = westos##指定用户可写
write list = +westos##指定组可写
write list = @westos##指定组可写
valid users = lee##指定访问用户
valid users = +lee/@lee##指定访问组
browseable = yes/no##是否隐藏共享
map to guest = bad user		##写到全局设定中
guest ok = yes				##允许匿名用户访问
admin users = lee			##指定此共享的超级用户身份呢

8.samba的多用户挂载

在客户端如果用普通的挂载方式,没有经过用户验证的人也可以访问samba服务

nfs服务

1、nfs介绍

NFS(Net File System)即网络文件系统,它是由SUN公司研制的UNIX表示层协议,能够使客户端主机访问网络上其余主机的文件系统资源。nfs的数据传输优化和安全性能要比samba好,其客户端和服务端组件是一体的,其服务由软件包nfs-utils提供,samba服务使用的是139、445固定端口,nfs默认使用的是2049端口,nfs被访问时的工作流程如下图所示:
在这里插入图片描述

当客户端主机访问nfs服务器上的共享资源时,会先访问服务器上的rpc-bind服务,rpc-bind会为客户端主机分配一个随机的访问端口号,客户端主机使用该端口号进一步访问服务器上的mounted软件,mounted软件负责对nfs服务器上所有共享资源进行控管,当客户端主机需要访问的共享资源存在时,mounted程序会进一步带领客户端主机通过2049端口访问nfs服务的共享资源,由于rpc-bind为客户端主机分配的访问端口号是随机的,所以nfs的安全性能要比samba好。

2、nfs基本信息

安装包nfs-utils
服务脚本nfs-server
共享配置文件/etc/exports
服务端口2049

3、nfs实验

1.在westosa中安装nfs-utils(虚拟机默认安装过)并开启nfs-server服务,在nfs服务器westosa的防火墙中永久添加nfs、rpc-bind、mountd,刷新火墙使设定生效,编辑/etc/exports文件指定共享目录、共享列表和共享参数,完成后exportfs -rv使文件生效(不能重启nfs-server服务
在这里插入图片描述

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

2.在客户端主机westosb中可以通过以下两种方式访问共享资源:
方法一: showmount -e nfs服务器IP(相当于smbclient -L)查看nfs服务器上的所有共享资源
方法二: mount nfs服务器IP:/共享目录 挂载点挂载共享文件系统到访问客户端的指定位置处进行访问
在这里插入图片描述

4、nfs配置参数实验

anonuid=1000,anongid=1000 		##指定用户身份
sync 							##更改生成后同步数据到服务器
async 							##时时同步数据到服务器
rw 								##读写挂载
ro 								##只读挂载
no_root_squash 					##以root用户挂载不转换身份

1.在进行参数设置之前,为了不使共享的本地文件系统的权限设定限制我们写入文件,需要将共享目录的权限设置为777,在nfs服务器westosa中编辑/etc/exports文件指定以只读方式挂载,完成后exportfs -rv使文件生效,此时挂载共享文件系统到访问客户端westosb的指定位置处后不能执行新建、删除文件等操作
在这里插入图片描述编辑/etc/exports文件指定所有人以只读方式挂载,172.25.254网段的主机以读写方式挂载,此时挂载共享文件系统到访问客户端westosb(172.25.254.174)的指定位置处后可以执行新建、删除文件等操作
注意: 进行多个共享用户ro、rw权限设置时,后面的设定会覆盖掉前面的设定
在这里插入图片描述2.在nfs服务器westosa的/etc/exports文件中不设定参数指定用户、用户组身份时,在客户端主机westosb挂载共享目录后,在共享目录中新建文件,查看新建文件的属性,其用户、用户组身份默认为nobody;使用id号指定用户、用户组身份时,在客户端主机westosb挂载共享目录后,在共享目录中新建文件,查看新建文件的属性得到的结果和在nfs服务器westosa共享目录查看新建文件属性得到的结果不一定相同,这是因为westosa、westosb中相同id号对应的用户可能不同
在这里插入图片描述
在这里插入图片描述
3.在nfs服务器westosa的/etc/exports文件中设定no_root_squash即使用root用户身份挂载时不转换身份,此时在客户端主机westosb挂载共享目录后,在共享目录中新建文件,分别在westosa、westosb中查看新建文件的属性,其用户、用户组身份固定为root

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

5、autofs+samba自动挂载

1.在客户端主机westosb中安装autofs软件并启动autofs服务,在客户端主机westosb中编辑策略文件/etc/auto.master写入最终挂载点的上级目录、指定挂载子策略文件,编写挂载子策略文件/etc/auto.nfs指定将资源以指定参数方式挂载到最终挂载点之前samba自动挂载实验要注销掉否则会影响实验
在这里插入图片描述

2.将nfs服务器westosa的共享目录/westosdir挂载到/westos/nfs下,重启autofs服务后有westos目录,进入westos目录,查看目录显示目录中无内容,但此时执行cd命令可以直接进入最终挂载点nfs目录中,cd命令相当于执行了挂载操作,此时df查看可以看到共享资源WESTOS挂载到/westos/nfs下;cd切换出最终挂载点nfs目录,等待资源闲置时间超过主配置文件/etc/autofs.conf设置的资源闲置时间限制后,df查看可以看到共享资源WESTOS自动卸载
在这里插入图片描述

6、iscsi 设备共享

实验:

1、在iscsi服务器westosa添加一块新的硬盘,使用交互式分区方式fdisk /dev/vdb在该硬盘上新建一个大小为2G的设备/dev/vdb1
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2、在iscsi服务器westosa中安装iscsi服务端软件targetcli并启动target服务

dnf install targetcli  -y

3、这时我们可以执行targetcli命令在iscsi服务器westosa中进行共享设备的建立:建立内部共享名称;建立外部共享名称(这里必须使用iqn即iscsi限定名称,日期用-连接,域名要反写);建立内部共享名称和外部共享名称关联;建立认证密钥,这些所有的设定都会保存在/etc/target/saveconfig.json文件中。接着在防火墙中永久添加iscsi服务的3260端口(端口可执行targetcli命令ls查看得到),刷新火墙使设定生效
在这里插入图片描述

4、在iscsi客户端westosb中安装iscsi服务端软件iscsi-initiator-utils,此时在客户端可以执行iscsiadm命令发现-p指定主机上的共享设备,但此时无法查询到该共享设备,因为防火墙不允许通过

dnf install iscsi-initiator-utils -y

在这里插入图片描述

在a机防火墙开放端口:

[root@westosaaa ~]# firewall-cmd --permanent --add-port=3260/tcp
success
[root@westosaaa ~]# firewall-cmd --reload 
success
[root@westosaaa ~]# 

此时共享信息是可以查询到的

在这里插入图片描述

5、此时-l 连接失败,因为客户端iscsi服务认证文件/etc/iscsi/initiatorname.iscsi中的认证密钥与服务器端的认证密钥不一致,认证无法通过,修改客户端iscsi服务认证文件中的认证密钥使其与服务器端的认证密钥一致,重启客户端iscsid服务,此时认证通过可以-l连接到该共享设备
在这里插入图片描述
fdisk -l可以查看到登入的共享设备/dev/sda
在这里插入图片描述

7.iscsi 开机自动挂载

设备在开机时自动挂载到指定位置处,在编写自动挂载策略文件/etc/fstab时需要加入 _netdev 参数说明该设备类型为网络共享设备,否则系统将无法启动
在这里插入图片描述

8、卸载设备

先-u临时登出共享设备,再-o delete删除该设备,此时在服务器端可以执行targetcli命令,clearconfig confirm=True清除服务器上所有共享设备的设定

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

阿王不想秃头

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

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

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

打赏作者

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

抵扣说明:

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

余额充值