网络文件系统(smaba+nfs+autofs+iscsi)

共享:存储和系统分离,一个系统发生故障,可以通过另一个系统访问资源、| windows是存储,linux是系统,

1.samba

1.1. samba 服务简介

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。

1.2.samba 基本信息

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

1.3.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 //170.25.254.111 当要输入 root 密码时请直接回车,有密码的时候需要输入密码

1.4.samba 用户的建立

1samba 用户必须是被地存在的用户,首先useradd 需要建立的samba用户
2samba 用户的建立

smbpasswd -a lee添加用户
pdbedit -L查看用户列表
pdbedit -x lee删除用户

在这里插入图片描述

1.5.samba 用户访问家目录

当 selinux 开启时:
setsebool -P samba_enable_home_dirs on

windows 下
\172.25.254.20 ##访问
net use ##查看访问记录net use * /del ##删除访问记录

在 linux 下:
smbclient //172.25.254.20/westos -U westos

1.6.samba 服务共享及共享目录

1.6.1共享时访问的两种方式

1. smbclient //172.25.254.254/westos -U westos 可以建立文件,在window中就可以看到

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

2mount -o username=adminstator,password=westos //172.25.254.254/westos /mnt/ 使用挂载的方式,在linux中,切换到cd /mnt/ 建立文件,即在windows中建立每次使用,每次挂载,也可以直接写在/etc/fstab文件中,但资源浪费,可以使用后文的aotofs挂载,

在这里插入图片描述

1.6.2windows中和Linux的共享(linux之间也同样的方式)

共享:存储和系统分离,一个系统发生故障,可以通过另一个系统访问资源、| windows是存储,linux是系统,
eg:windows
windows用户 ip

在这里插入图片描述

1在windows的D盘中建立一个文件westos,右键属性,选择共享。
在这里插入图片描述2高级共享,点击权限
在这里插入图片描述3如图
在这里插入图片描述
4windows用户设置密码在这里插入图片描述

在这里插入图片描述

1.6.2.1在windows下:访问

\\172.25.254.20 ##访问 net use ##查看访问记录net use * /del ##删除访问记录

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

在这里插入图片描述

1.6.2.2 在 linux 下:访问

smbclient -L //170.25.254.111 -U administrator发现,

在这里插入图片描述
1. smbclient //170.25.254.111/westos -U westos 可以建立文件,在window中就可以看到
2mount -o username=adminstator,password=westos //170.25.254.111/westos /mnt/ 使用挂载的方式,在linux中,切换到cd /mnt/ 建立文件,即在windows中建立

1.6.2samba 服务共享目录

使用的是建立的samba用户
server
1dnf install samba samba-common -y ** (samba-common:samba所有的配置文件) ,开启smb.service**

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

2firewall-cmd --permanent --add-service=smaba
在这里插入图片描述

3mkdir /westos 共享的东西/westos

4vim /etc/samba/smb.conf修改主配置文件,之后重启服务
[westos] ##共享名称
comment = westos ##共享说明
path = /westos ##共享路径
在这里插入图片描述

在这里插入图片描述

5默认用户可以访问自己的家目录

在这里插入图片描述

client
211:服务端ip
会把建立的samba用户westos的家目录共享出来
smbclient //172.25.254.211/westos -U westos

在这里插入图片描述

1.7.samba 的常用配置参数

接着1.6.2实验
semanage fcontext -a -t samba_share_t '/westos(/.*)?'
restorecon -RvvF /westos修改共享目录的安全上下文

在这里插入图片描述vim /etc/samba/smb.conf修改主配置文件,之后重启服务

1writable = yes可写
在这里插入图片描述修改共享目录权限,对samba用户westos可写
在这里插入图片描述

测试端只能上传当前目录里面的文件,在登录之后,看当前目录!ls
在这里插入图片描述

2write list = lee 指定用户可写(与wtitable冲突,先关掉writeable)

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

3write list = +westos指定组可写write list = @westos
只有属于这个组里的人才可写
usermod -G lee westos
更改之后,2中的westos也可以写

4valid users = lee 指定访问用户
client
只有lee用户可以访问
在这里插入图片描述

5valid users = +lee|@lee 指定访问组
只有属于指定组的用户可以访问
usermod -G lee westos
在这里插入图片描述

更改westos的用户组后,westos也可以访问
6browseable = yes|no 是否隐藏共享
server可浏览=no 在这里插入图片描述client
在这里插入图片描述

7````** 设置全局黑白名单**+局部设置黑白名单
全局黑名单172.25.254.111 指定此IP无法访问 172.25.254.全网段不能访问 对 samba 整体生效
针对于所有的共享
在这里插入图片描述局部黑|白名单:只针对此目录当写到单独共享时之对此共享生效
在这里插入图片描述
8map to guest = bad user写到全局设定中

9guest ok = yes允许匿名用户访问
server
map to guest=bad user ** 任何没有身份的用户都被映射成用户名称**
在这里插入图片描述

在这里插入图片描述client
211:服务端ip
在这里插入图片描述

10admin users = westos 指定此用户访问的超级用户身份(westos用户对于共享目录是以超级用户身份进行管理的)(客户端:用westos身份挂载:mount -o username=westos,password=westos //172.25.254.211/westos /mnt/)
10.1在服务端修改主配置文件admin users = westos 指定此共享的超级用户身份 以超级用户身份去管理共享文件
10.2在客户端的挂载目录下建立文件(用westos身份去挂载)显示为超级用户的身份,(在配置文件中如果不指定,admin users = westos 则在服务端看到的依然是westos用户身份的文件,用westos身份进行挂载)
在这里插入图片描述
10.3在服务端可以看到文件的用户身份是root
在这里插入图片描述

1.8.autofs+samba(共享资源访问时自动挂载)

1.8.1autofs:自动挂载

autofs:在客户端实现自动挂载卸载的软件(一直处于挂载状态会浪费资源)

1.8.2 配置方式

服务端主机ip:172.25.254.254
客户端主机211
1vim /etc/auto.master
最终挂载点的上层目录 自动以子策略文件
/mnt /etc/auto.cifs

2vim 自动以子策略文件(/etc/auto.samba)
最终挂载点 挂载参数 挂载资源
westos -fstype=cifs,username=westos,password=lee ://172.25.254.254/westos

在这里插入图片描述
3等待资源闲置超时 ##默认 300 秒 vim /etc/autofs.conf >Timeout=3
在这里插入图片描述

在这里插入图片描述
4 systemctl restart autofs重启服务
5当进入设定的自动挂载目录时,其会实现自动挂载,退出时,会卸载
在这里插入图片描述

1.9samba 的多用户挂载

其他用户需要认证
mount -o username=westos,password=westos //172.25.254.211/westos /mnt客户端root用户使用到服务器的westos账户完成了认证此方式挂载之后,查看历史时可以看到用户的密码,不安全·
客户端的westos用户并没有通过认证,但可以看到 /mnt/下的文件,不合理
在客户端如果用普通的,挂载方式
没有用过用户验证的人也可以访问 samba 服务

1.9.1临时设定

client
1==需要安装插件 dnf search mount dnf install cifs-utils
安装后
客户端

2vim /root/smbpass
username=westos
password=westos
3chmod 600 /root/smbpass 不是超级用户也无法查看此文件
4临时挂载
mount -o credentials=/root/smbpass,sec=ntlmssp,multiuser //172.25.254.211/westos /mnt
credentials=/root/smbpass 指定认证文件指定本次所使用到的用户和密码所在记录的文件
sec=ntlmssp指定认证类型其他用户可以用自己持有的samba账号来完成认证

multiuser支持多用户:每个人用自己的身份进行挂载,用自己的samba用户认证 (切换到westos用户,则不能看到/mnt/目录里面的内容)在认证期间,所使用的认证策略

在这里插入图片描述

测试
su - westos


[westos@test /]$ ls /mnt客户端主机的 wetos 用户没有通过认证
ls: cannot access '/mnt': Permission denied
[westos@test ~]$ cifscreds add -u lee172.25.254.211
Password:
[westos@test ~]$ ls /mnt/ 通过认证可以显示file file1111 file2 file22222
[westos@test /]$ cifscreds add -u lee 172.25.254.211服务端的lee ,输入正确的密码后建立认证
Key search failed: Key has expired ##当遇到此报错信息

[westos@test /]$ cifscreds add -u lee -d 172.25.254.211
Password:
[westos@test ~]$ cifscreds clearall执行以上两条命令解决报错

1.9.2永久设置:自动挂载(nfs+autofs,基于1.8)

dnf install autofs
vim /etc/auto.nfs
mount -fstype=cifs,credentials=/root/smbpass,sec=ntlmssp,multiuser //172.25.254.211/westos ``

systenctl restart autofs.service
su lee
lee用户没有认证 cd /mnt/ 会自动挂载
[lee@test /]$ cifscreds add -u lee 172.25.254.211认证后就可以看到/mnt下的信息

2.NFS

Net File System

NFS是基于UDP/IP协议的应用,其实现主要是采用远程过程调用RPC机制,RPC提供了一组与机器、操作系统以及低层传送协议无关的存取远程文件的操作。RPC采用了XDR的支持。XDR是一种与机器无关的数据描述编码的协议,他以独立与任意机器体系结构的格式对网上传送的数据进行编码和解码,支持在异构系统之间数据的传送。

2.1 nfs 基本信息

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

2.2nfs 的 启 用

server
systemctl start nfs-server
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-cmd --permanent --add-service=nfs
firewall-cmd --reload
在这里插入图片描述

==测试:client中访问服务端
[root@apache ~]# showmount -e 172.25.254.211

在这里插入图片描述

2.3nfs 配置

server
vim /etc/exports ##此文件更改后生效

共享目录 共享给谁(共享参数)

/westosdir *(ro)

exportfs -rv生效上面的文件
测试:
mount 172.25.254.211:/westos /mnt/
cd /mnt/ 就可以看到服务端内容

2.4 nfs+autofs

接1.8所设置
vim /etc/auto.nfs
westos 172.25.254.211:/westos
cd /mnt/westsos
df 可以查看到自动挂载

2.5nfs 配 置 参 数

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

chmod 777 /westos/westos 共享目录
每次进行编辑后都要使其生效
111 apache客户端 == 211== loaclhost 服务端
1在编辑配置文件时,共享对象*表示所有人,也可以使用ip指定客户端
server
在这里插入图片描述

在这里插入图片描述client挂载之后,建立文件,文件的身份是nobody
在这里插入图片描述2建立客户端访问的用户身份
server
在这里插入图片描述
在这里插入图片描述client
在这里插入图片描述3让客户端以root身份挂载
server
在这里插入图片描述client
在这里插入图片描述4

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

在这里插入图片描述

5.iscsi 设备的共享

5.1共享磁盘设备:(通过网络直接进行共享,在客户端可以对服务端共享的磁盘设备进行写入)

5.1.1 server端

1安装targetcli,fdisk /dev/vdb 建立一块可以共享的分区/dev/vdb1
在这里插入图片描述2在火墙策略中添加服务
在这里插入图片描述
3
3.1targetcli共享设备
3.2backstores/block create westos_storage1 /dev/vdb1创建共享设备的别名(westos_storage1)针对于真实的物理设备/dev/vdb1

在这里插入图片描述3.3 /iscsi create iqn.2020-08.com.westos:strage1对外共享,iqn的格式:全局限定名称有固定的格式:年月域名的反写
strage:短名称
创建出来3.3之后需要将其与设备关联起来,并且制造访问key,开启某个端口
在这里插入图片描述3.4/iscsi/iqn.2020-08.com.westos:strage1/tpg1/luns create /backstores/block/westos_storage1将对外共享与真实设备关联起来。对外共享真实设备/dev/vdb1
3.5/iscsi/iqn.2020-08.com.westos:strage1/tpg1/acls create iqn.2020-08.com.westos:westoskey1通过westoskey进行认证

在这里插入图片描述
3.6quit退出

在这里插入图片描述4重启target.service 在没有共享东西之前无法开启服务

5.1.2服务端

1安装iscsi-initiator-utils.x86_64
在这里插入图片描述2做认证:指定用户key,重启iscsid

在这里插入图片描述
3iscsiadm -m discovery -t st -p 172.25.254.111 -m 动作 -t st :类型 -p ip:发现(不做认证也可以发现)
4iscsiadm -m node -T iqn.2020-08.com.westos:strage1 -p 172.25.254.111 -l-l 登陆成功,则表示认证成功
在这里插入图片描述

5fdisk -l 可以看到共享过来的设备,分区,格式化设备,挂载设备,
往/dev/sda1里面写东西,就是往对外共享的设备里写,即服务端/dev/vdb1
在这里插入图片描述

在这里插入图片描述因为共享过来的设备/dev/sda是一块网络设备,每次开机重启设备会漂移,所以需要在永久挂载文件中以UUID的形式进行编辑。
图片上没有Z,是鼠标点击失误,
且因为挂载的分区/dev/sda1是网络设备,如果在写参数的时候没有写"_netdev",系统将无法重启
在这里插入图片描述
在删除的时候也要删除此文件里面的内容

5.2删除

5.2.1客户端

清除共享
在这里插入图片描述

在这里插入图片描述

5.2.2客户端

1==卸载挂载的共享设备(删除永久挂载文件/etc/fstab中的挂载信息)
在这里插入图片描述2 -u 注销
delete 删除数据
可以通过tree的方式进行查看,是否删除完毕
3**重启iscsi **
在这里插入图片描述4查看客户端的分区,可以看到共享的网络设备已经被完全删除
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值