3.5 网络文件系统

本文详细介绍了如何在Linux服务器上安装和配置Samba服务,包括用户管理、共享目录设置、读写权限控制等。接着讲解了NFS服务的启用与配置,以及通过autofs实现自动挂载。最后,文章探讨了设备共享,利用targetcli创建和管理共享存储,并在客户端进行挂载和取消挂载操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、samba安装与使用
dnf install samba samba-common samba-client -y
systemctl enable --now smb
firewall-cmd --permanent --add-service=samba
firewall-cmd --reload 

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

2、samba用户管理
smbpasswd -a westos    ##添加用户,必须为系统中存在的用户
pdbedit -L        ##查看用户列表
pdbedit -x westos       ##删除用户

3、samba服务共享目录

cp smb.conf.example smb.conf -p     ##复制配置文件的模板

指定用户登陆时,是访问不了家目录的,是selinux安全上下文的缘故。
setsebool -P samba_enable_home_dirs on    ##selinux将不会对samba服务访问家目录进行限制

mkdir /share     ##自建想要共享的目录
vim /etc/samba/smb.conf          ##根据模板写共享目录参数
        [share]
        comment = share_
        path = /share
systemctl restart smb.service
semanage fcontext -a -t samba_share_t '/share(/.*)?'   ##修改安全上下文使samba可以访问
restorecon -RvvF /share/    ##立即生效

vim /etc/samba/smb.conf     ##共享系统级目录。如果修改安全上下文会导致其他服务无法访问,所以修改相关sebool值即可
        [mnt]
        comment = mnt_
        path = /mnt
systemctl restart smb.service
setsebool -P samba_export_all_ro on    ##selinux将不再对samba服务访问文件的安全上下文进行限制
setsebool -P samba_export_all_rw on    ##selinux将不再对samba服务编写文件的安全上下文进行限制
getsebool -a | grep samba

4、samba的读写控制

全局黑白名单
vim /etc/samba/smb.conf
;       interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
;       hosts allow = 127. 192.168.12. 192.168.13.
        hosts allow = 172.25.254.250     ##全局白名单
        hosts deny  = 172.25.254.150     ##全局黑名单
systemctl restart smb.service

指定共享目录参数
vim /etc/samba/smb.conf
        [share]
        comment = share_
        path = /share
        hosts allow =172.25.254.250
        browseable = no         ##是否-L时显示此目录
        valid user = westos     ##此目录只能westos用户访问
;        valid user = @westos   ##此目录只能属于westos组的用户访问
        writable = yes          ##此目录允许读写
;        write list = +westos   ##此目录允许属于westos组的用户读写
systemctl restart smb.service

匿名用户
vim /etc/samba/smb.conf
        map to guest = bad user   ##映射匿名身份为guest账号

        [share]
        comment = share_
        path = /share
;        hosts allow =172.25.254.250
;        browseable = no
;        valid user = westos
;        valid user = @westos
;        writable = yes
;        write list = +yao      ##此共享允许guest访问
       guest ok = yes     
systemctl restart smb.service

客户端:
mount //172.25.254.150/share /mnt -o username=westos,password=westos   ##使用westos登陆共享目录
mount //172.25.254.150/share /mnt -o username=guest   ##guest登陆


5、autofs+samba 实现自动挂载

客户端中:
dnf install autofs              ##安装autofs
mkdir /westos             
vim /etc/auto.master            ##编写策略文件    
----8 /westos /etc/auto.share  ##最终挂载的上层目录   子策略文件,名字任意
vim /etc/auto.share        ##编写子策略文件
---samba     -fstype=cifs,username=yao.password=yao    ://172.25.254.150/share ##最终挂载点的相对路径  挂载参数  ip及资源
vim /etc/autofs.conf
---15 timeout = 3        ##挂载资源3秒没有程序使用则自动卸载 默认300秒
systemctl restart autofs.service

测试:
[root@westoslinux ~]# cd /westos
[root@westoslinux westos]# ls
[root@westoslinux westos]# cd samba
[root@westoslinux samba]# df
Filesystem             1K-blocks    Used Available Use% Mounted on
devtmpfs                  403532       0    403532   0% /dev
tmpfs                     419132       0    419132   0% /dev/shm
tmpfs                     419132    6060    413072   2% /run
tmpfs                     419132       0    419132   0% /sys/fs/cgroup
/dev/vda3               17814528 3342308  14472220  19% /
/dev/vda1                1038336  173172    865164  17% /boot
tmpfs                      83824       4     83820   1% /run/user/0
//172.25.254.150/share  17814528 3397952  14416576  20% /westos/samba
[root@westoslinux samba]# cd
[root@westoslinux ~]# df
Filesystem     1K-blocks    Used Available Use% Mounted on
devtmpfs          403532       0    403532   0% /dev
tmpfs             419132       0    419132   0% /dev/shm
tmpfs             419132    6060    413072   2% /run
tmpfs             419132       0    419132   0% /sys/fs/cgroup
/dev/vda3       17814528 3342308  14472220  19% /
/dev/vda1        1038336  173172    865164  17% /boot
tmpfs              83824       4     83820   1% /run/user/0

6、samba的多用户挂载
dnf install cifs-utils -y      ##安装多用户认证安全插件
vim /root/smbpasswd            ##编写密码文件
---username=yao
---password=yao
chmod 600 /root/smbpasswd   
mount -o credentials=/root/smbpasswd,multiuser,sec=ntlmssp //172.25.254.150/share  /mnt/     ##挂载
#credentials=/root/smbpasswd    指定认证文件
#sec=ntlmssp            指定认证类型
#multiuser            支持多用户

su - westos
ls /mnt       ##没有安全认证,访问不了
cifscreds add -u westos 172.25.254.150    ##添加认证
cifscreds clearall          ##清空密码

7、nfs(Net File System)

nfs启用:
服务器
systemctl enable --now nfs-server.service
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-cmd --permanent --add-service=nfs
firewall-cmd --reload        ##nfs的运行机制较为不同,需要三个服务
客户端
showmount -e 172.25.254.150    ##列出nfs服务器的共享资源

nfs配置:
服务器
vim /etc/exports
/sharedir    *(ro,sync) 172.25.254.250(rw,sync,anonuid=1000,anongid=1000)
                    ##nonuid=1000,anongid=1000    指定用户身份
                    ##sync                更改生成后同步数据到服务器
                    ##async                时时同步数据到服务器
                    ##rw                读写
                    ##ro            只读
                    ##no_root_squash        客户端root用户挂载后沿用root身份到服务器中
exportfs -rv     ##使更改生效
客户端查看效果
mount 172.25.254.150:/sharedir  /mnt/  ##其他主机挂载后只能读;250可读写,没有任何参数时默认身份为nobody

nfs+autofs:
客户端
vim /etc/auto.master
---/westosdir /etc/auto.nfs        ##最终挂载点的上一级目录    子挂载策略
vim /etc/auto.nfs
---nfs   -rw  172.25.254.150:/sharedir     ##最终挂载的相对路径  挂载参数  挂载资源
systemctl restart autofs.service


8、关于设备共享

建立共享:

服务器
dnf install targetcli               ##安装共享策略管理软件
systemctl enable --now target       
targetcli                           ##编写共享策略
ls                               ##蓝色为目录,紫色为目录中的命令
/backstores/block create westos_share1 /dev/vdb1  ##设立软件中设备的别名
/iscsi create iqn.2020-08.com.westos:share1   ##设立对外共享的名称
/iscsi/iqn.2020-08.com.westos:share1/tpg1/luns create /backstores/block/westos_share1
   ##对外共享名称与设备关联
/iscsi/iqn.2020-08.com.westos:share1/tpg1/acls create iqn.2020-08.com.westos:key1
   ##设定访问key
exit
firewall-cmd --permanent --add-port=3260/tcp   ##开放端口
firewall-cmd --reload

客户端
dnf install iscsi-initiator-utils.x86_64
iscsiadm -m discovery -t st -p 172.25.254.150    ##查询共享信息
vim /etc/iscsi/initiatorname.iscsi
---InitiatorName=iqn.2020-08.com.westos:key1     ##指定共享key
systemctl restart iscsid        ##重启控制配置的服务
iscsiadm -m node -T iqn.2020-08.com.westos:share1 -p 172.25.254.150 -l##-l登陆共享设备
fdisk -l
若想让该设备永久挂载编写/etc/fstab时,因为是通过网络访问,所以需要设定defaults,_netdev。使连接好网络后再挂载。

客户端取消登陆 服务器删除共享资源:

客户端
iscsiadm -m node -T iqn.2020-08.com.westos:share1 -p 172.25.254.150 -u   ##退出登陆,但数据依旧存在,重启iscsi服务会重新出现
iscsiadm -m node -T iqn.2020-08.com.westos:share1 -p 172.25.254.150 -o delete  ##-u后执行此命令,删除数据即可永久退出

服务器
targetcli
clearconfig confirm=True   ##清除共享数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值