实验环境

(1)配置好网络,我这里第一台服务主机名为nodea,网络IP为192.168.2.100

(2)配置好第二台主机网络,我这里第二台测试主机名为nodeb,网络IP为192.168.2.150

(3)   搭建好两台主机的软件仓库

(4)为第一台主机nodea添加一块10G的硬盘


1. samba服务简介
作用:
smb = Server Message Block         Sum
cifs = Common Internet File System Miscrosoft
windows系统共享文件时用到的协议smb
smb是由miscrosoft+sun

Linux系统用到的协议cifs

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


因为配置文件/etc/smb.conf中内容比较少,所以要用/etc/samba目录中的smb.conf.example来替换。

cp smb.conf.example smb.conf


3.samba的安装与启用
samba的安装:     
服务主机中:dnf install samba samba-common -y
测试主机中:dnf install samba-client -y
samba服务启动: 
systemctl enable --now smb
samba服务启用
firewall-cmd --permanent --add-service=samba
firewall-cmd --reload

测试:
smbclient -L //192.168.2,100  
##当要输入root密码时请直接回车

服务主机:

测试主机:


4.samba用户的建立
(1)  samba用户必须是被地存在的用户
(2)  samba用户的建立
smbpasswd -a lee   ##添加用户
pdbedit -L         ##查看用户列表
pdbedit -x lee     ##删除用户


5. samba用户访问家目录
当selinux开启时:
setsebool -P samba_enable_home_dirs on
windows下
\192.168.2.100    ##访问
net use            ##查看访问记录
net use * /del     ##删除访问记录
在linux下:
smbclient //192.168.2.100/westos -U westos

6. samba服务共享目录
mkdir /westosdir
touch /westosdir/westosfile{1..5}
vim /etc/samba/smb.conf
[westosdir]                  ##共享名称
comment = westosdir          ##共享说明
path = /westosdir            ##共享路径

systemctl restart smb.service

测试:
smbclient //192.168.2.100 /westosdir -U westos

在nodeb主机中进行测试


7. samba的访问控制
hosts allow        ##白名单,当写到单独共享时之对此共享生效
hosts deny         ##黑名单,当写到【GLOBAL】时对samba整体生效
hosts deny            ##黑名单

当hosts deny黑名单写到共享目录中时,只针对共享目录生效 

测试:

hosts allow          ##白名单

测试:


8. samba的常用配置参数
(1)writable = yes            ##可写
(2)write list = westos       ##指定用户可写
(3)write list = +westos      ##指定组可写
     write list = @westos
(4)valid users = lee         ##指定访问用户
(5)valid users = +lee|@lee   ##指定访问组
(6)browseable = yes|no       ##是否隐藏共享
(7)map to guest = bad user   ##写到全局设定中
(8)guest ok = yes            ##允许匿名用户访问
(9)admin users = lee         ##指定此共享的超级用户身份

测试共享目录的挂载

(1)发现挂载成功后,不能建立文件,只有只读的权利

所以我们要在服务主机中给到它可写权力

然后在测试主机中重新建立文件测试 

(2)指定用户可写

测试主机中测试

(3)指定用户组可写

测试主机中进行测试

(4)指定访问用户

测试主机中进行测试

(5)指定访问组

测试主机中进行测试

(6)是否隐藏共享

测试主机中进行测试

(7)写到全局设定中

(8)  允许匿名用户访问

(9)指定此共享的超级用户身份

测试主机中进行测试


9. samba的多用户挂载
在客户端如果用普通的挂载方式,没有用过用户验证的人也可以访问samba服务,这显然不合理
所以我们要设定,只有通过用户验证的用户才能访问。

dnf install cifs-utils -y

vim /root/smbpass
username=westos
password=0000

mount -o credentials=/root/smbpass,sec=ntlmssp,multiuser //192.168.2.100/westosdir /mnt

#credentials=/root/smbpass    ##指定认证文件
#sec=ntlmssp                  ##指定认证类型
#multiuser                    ##支持多用户

su - westos
[westos@test /]$ ls /mnt            ##客户端主机的wetos用户没有通过认证
ls: cannot access '/mnt': Permission denied

[westos@test ~]$ cifscreds add -u lee 192.168.2.100
Password:
[westos@test ~]$ ls /mnt/           ##通过认证可以显示
file file1111 file2 file22222

[westos@test /]$ cifscreds add -u lee 192.168.2.100
Key search failed: Key has expired  ##当遇到此报错信息

[westos@test /]$ cifscreds add -u lee -d 192.168.2.100
Password:

[westos@test ~]$ cifscreds clearall ##执行以上两条命令解决报错


NFS方式共享

相对于samba的共享方式来说,NFS更加简单

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

nfs的启用
dnf install nfs-utils
systemctl enable --now nfs-server
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-cmd --permanent --add-service=nfs
firewall-cmd --reload

vim /etc/exports           ##/westos   *(ro)以ro方式共享给所有人
exportfs -rv               ##刷新

测试:
[root@dns_node1 ~]# showmount -e 192.168.2.100
Export list for 192.168.2.100:

nfs配置
vim /etc/exports             ##此文件更改后exportfs -rv刷新,文件生效
共享目录        共享给谁(共享参数)
/westosdir          *(ro)

测试:
mount 192.168.2.100:/westosdir /mnt/
服务主机安装启用,设置防火墙

测试主机测试机


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

测试机测试 

(2)root用户挂载不转换身份

测试机测试 


nfs+autofs实现挂载优化

nfs方式,自动挂载或者卸载

参看autofs章节内容
vim /etc/auto.mater
/nfs    /etc/auto.nfs
vim /etc/auto.nfs
westos     -rw,vers=3       192.168.2.100:/westosdir
systemctl restart autofs.service

测试:
cd /nfs/westos
df
cd /root/
df
如果想快点看到实验效果,可以编辑 /etc/autofs.conf 这个文件,将其中的timeout等待时间改为5秒,默认是300秒,更改完成后 systemctl restart autofs.service 重启,重复测试步骤,效果极佳

 


autofs实现samba自动挂载

dnf install autofs -y

autofs:
在客户端实现自动挂载卸载的软件

配置方式:
vim /etc/auto.master
最终挂载点的上层目录        自动以子策略文件
/samba                    /etc/auto.samba
vim                       自动以子策略文件(/etc/auto.samba)
最终挂载点                 挂载参数                                    挂载资源
westos            -fstype=cifs,username=westos,password=lee     ://192.168.2.100/westosdir

systemctl enable autofs

测试:
cd /samba/westos
df
cd /root

等待资源闲置超时            ##默认300秒 vim /etc/autofs.conf ---->Timeout=5
systemctl restart autofs.service

df
挂载资源自动卸载


iscsi网络存储设备的构建

直接把系统硬盘设备共享出去

1.
fdisk /dev/vdb -------> /dev/vdb1

2.
dnf install targetcli -y

3. 服务主机

targetcli
/> /backstores/block create storagel /dev/sdb1
/> /iscsi create iqn.2022-05.com.westos:storagel       
/>/iscsi/iqn.2022-05.com.westos:storagel/tpg1/luns create /backstores/block/storagel
/> /iscsi/iqn.2022-05.com.westos:storagel/tpg1/acls create iqn.202205.com.westos:westoskey1
/> exit

firewall-cmd --permanent --add-port=3260/tcp
firewall-cmd --reload

4. 测试主机

dnf install iscsi-initiator-utils.x86_64 -y
vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2020-08.com.westos:westoskey1 <---- key check

systemctl restart iscsid

iscsiadm -m discory -t st -p 192.168.2.100
iscsiadm -m node -T iqn.2020-08.com.westos:strage1 -p 192.168.2.100 -l    ---> /dev/sda

fdisk /dev/sda ---> /dev/sda1
mkfs.xfs /dev/sda1
mount /dev/sda1 /mnt

服务主机:

(1)把之前添加的新硬盘,分出一个2G的分区

(2)下载targetcli

(3) 设定共享,设定火墙端口

设置完成后可以查看

测试主机:

(1)下载iscsi

(2)编辑认证文件

(3) 重启设备

​​​​​​​

(4)认证

(5)查看是否共享成功

(6)用共享的硬盘再分区,大小为2G。分完之后格式化 

(7)挂载新分出的硬盘,共享设备成功


网络存储设备的永久挂载

blkid            ##查看存储设备id
/dev/sdb1: UUID="97044a51-5bf1-424b-8752-a06405fb4d3d" TYPE="xfs" PARTUUID="056a99dd-01"

vim /etc/fstab   ##编辑永久挂载文件

UUID=97044a51-5bf1-424b-8752-a06405fb4d3d /mnt           xfs     defaults,_netdev  0 0
##将网络存储设备的id添加进去,添加挂载点,在defaults后加上,_netdev  设置完成,重启后依然挂载


网络设备的停用及删除

测试主机:
vim /etc/fstab         ##删除文件中设置的永久挂载
tree /var/lib/iscsi/   ##树形结构查看网络存储设备的名称
iscsiadm -m node -T iqn.2022-05.com.westos:storagel -p 192.168.2.100 -u        ##登出设备
iscsiadm -m node -T iqn.2022-05.com.westos:storagel -p 192.168.2.100 -o delete ##永久从客户端删除


服务主机:
targetcli
/>ls
/>clearconfig confirm=True
/>ls

测试主机:

服务主机:


云野 » 网络文件系统

发表回复