网络文件系统

本文详细介绍了如何在Linux系统中安装和配置Samba服务,包括基本设置、用户管理、共享目录以及访问控制。同时,讲解了NFS服务的启用、配置和权限管理,以及如何结合autofs实现自动挂载和卸载。此外,还提到了Samba和NFS在权限和安全上下文方面的问题及其解决方案。

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

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

3.samba的安装与启用

1.samba的安装:

dnf install samba samba-common samba-client -y

请添加图片描述
请添加图片描述

2.samba服务启动:

systemctl enable --now smb

3.samba服务启用

firewall-cmd --permanent --add-service=samba
firewall-cmd --reload
请添加图片描述

测试:
smbclient -L //172.25.254.20 ##当要输入root密码时请直接回车
请添加图片描述

3.samba用户的建立

1.samba用户必须是本地存在的用户
2.samba用户的建立

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

请添加图片描述
请添加图片描述
查看用户和删除用户
请添加图片描述
请添加图片描述

4.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
请添加图片描述
说明selinux不让访问。
请添加图片描述
第二种方法:通过挂载,可以访问文件。
请添加图片描述

5.samba服务共享目录

mkdir /westosdir
touch /westosdir/westosfile{1..5}
semanage fcontext -a -t samba_share_t '/westosdir(/.*)?'
restorecon -RvvF /westosdir/

vim /etc/samba/smb.conf

[westosdir] ##共享名称
comment = westosdir ##共享说明
path = /westosdir ##共享路径
systemctl restart smb

1.共享自建目录

请添加图片描述
请添加图片描述
请添加图片描述
可以看到但是不能访问。
请添加图片描述
需要修改安全上下文。
请添加图片描述
测试:
smbclient //172.25.254.20/westosdir -U westos
请添加图片描述

2.共享系统目录

请添加图片描述
请添加图片描述
注意
如果访问系统用户被拦截
输入
setsebool -P samba_export_all_ro on ##只读
或者
setsebool -P samba_export_all_rw on ##只写

这样也不需要修改安全上下文就可以访问。

6.samba的访问控制

hosts allow 172.25.254.30 172.25.254. ##当写到单独共享时之对此共享生效
hosts deny ##当写到【GLOBAL】时对samba整体生效

请添加图片描述
请添加图片描述
请添加图片描述

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 ##指定此共享的超级用户身份

1.write

请添加图片描述
请添加图片描述
请添加图片描述
真实写在了/wetsossmb、中,用westos登陆,显示就是westos,同理其他用户zrx也可以。
请添加图片描述

2.valid

请添加图片描述
请添加图片描述

3.brownseable

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

4.匿名用户访问

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

8.samba的多用户挂载

面临问题:
在客户端如果用普通的挂载方式
没有用过用户验证的人也可以访问samba服务
请添加图片描述
请添加图片描述

dnf install cifs-utils -y
vim /root/smbpass
username=westos
password=lee
mount -o credentials=/root/smbpass,sec=ntlmssp,multiuser //172.25.254.20/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 172.25.254.20
Password:
[westos@test ~]$ ls /mnt/ ##通过认证可以显示
file file1111 file2 file22222 
[westos@test /]$ cifscreds add -u lee 172.25.254.20
Key search failed: Key has expired ##当遇到此报错信息
[westos@test /]$ cifscreds add -u lee -d 172.25.254.20
Password:
[westos@test ~]$ cifscreds clearall ##执行以上两条命令解决报错

请添加图片描述

请添加图片描述
请添加图片描述

9.autofs+samba

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

配置方式:
vim /etc/auto.master
最终挂载点的上层目录 自动以子策略文件
/mnt /etc/auto.samba
vim 自动以子策略文件(/etc/auto.samba)
最终挂载点 挂载参数 挂载资源
samba -fstype=cifs,username=westos,password=lee ://172.25.254.20/westosdir
systemctl restart autofs
测试:
cd /mnt/samba
df
cd /root
等待资源闲置超时 ##默认300秒 vim /etc/autofs.conf ---->Timeout=3
df
挂载资源自动卸载

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

10.NFS

Net File System

nfs基本信息

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

nfs的启用

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
测试:
[root@dns_node1 ~]# showmount -e 172.25.254.20
Export list for 172.25.254.20:

请添加图片描述
请添加图片描述
请添加图片描述

nfs配置

vim /etc/exports ##此文件更改后生效exportfs -rv
共享目录 共享给谁(共享参数)
/westosdir *(ro)
测试:
mount 172.25.254.30:/westosdir /mnt/

请添加图片描述
请添加图片描述
umount /mnt

nfs配置参数

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

请添加图片描述
请添加图片描述
请添加图片描述

11. nfs+autofs

参看autofs章节内容
vim /etc/auto.nfs
nfs 172.25.254.30:/westosdir
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值