网络文件共享samba服务部署

1. samba服务简介

作用:
windows系统共享文件时用到的协议smb
smb是由miscrosoft+sun联合开发的,
在linux中称为 cifs文件系统

在Windows中共性一个文件,
在这里插入图片描述
在linux机中安装samba-client 后执行以下命令可以看到Windows共享的内容:
在这里插入图片描述
-L列出 -U指定用户
在这里插入图片描述
直接执行可得到一个类似于lftp的界面,里面可以上传删除文件,但是不可以建立文件,这样就是不同系统的文件传输。由于这样的界面操作的命令太少,我们将它挂载到/mnt下使用,进行操作时更改的不是linux主机目录,而是Windows主机目录下的内容。
在这里插入图片描述
在里面建立文件,
在这里插入图片描述
在这里插入图片描述
建立到Windows主机上去了。

2.samba基本信息

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

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 //192.168.0.20      ##当要输入root密码时请直接回车
在这里插入图片描述

4.samba用户的建立

1.samba用户必须是本地存在的用户
2.samba用户的建立
smbpasswd -a thermal        ##添加用户
pdbedit -L            ##查看用户列表
pdbedit -x thermal          ##删除用户
在这里插入图片描述
 

5.samba用户访问家目录

当selinux开启时:

setsebool -P samba_enable_home_dirs on         开启功能后才能访问用户家目录中的内容

在这里插入图片描述
windows下,搜索栏搜索
在这里插入图片描述
\192.168.0.20         ##访问
在这里插入图片描述
net use            ##查看访问记录
在这里插入图片描述
net use * /del          ##删除访问记录
在这里插入图片描述
在linux下:
smbclient //192.168.0.20/lee -U lee
在这里插入图片描述

6.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

测试:
smbclient //192.168.0.20/westosdir -U westos
在这里插入图片描述

7.samba的访问控制

hosts allow 192.168.0.30  192.168.0. #192.168.0. 是一个网段,代表一个网段的ip都可以访问
hosts deny 192.168.0.30        #作用和allow相反           
在这里插入图片描述
当写到单独共享目录时只对此共享目录生效,当写到【GLOBAL】底下时对samba整体生效。
在这里插入图片描述
30主机访问时成功。
在这里插入图片描述
10主机访问westosdir目录被拒绝,但可以访问其它的目录,如下:
在这里插入图片描述
当写到global下时:
在这里插入图片描述
在这里插入图片描述
10主机访问所有目录都被拒绝。

8.samba的常用配置参数

在这里插入图片描述
讲samba服务器主机的 /westosdir 挂载到30主机的/mnt/下,
在这里插入图片描述
无法删除或建立内容,因为这些文件只对root可写。

cmod 777 /westosdir           更改权限后仍然无法删除。

因为samba不允许我们做出这样的操作。

vim /etc/samba/smb.conf

在这里插入图片描述
writable = yes                ## 可写
在这里插入图片描述


在这里插入图片描述
write list = westos              ## 指定用户可写
在这里插入图片描述
由于挂载时使用的是lee用户,所以不可写


在这里插入图片描述
write list = +westos              
write list = @westos             ## 指定组可写,@,+相同
在这里插入图片描述
将lee加入到westos组中,
在这里插入图片描述
则可写。


在这里插入图片描述
valid users = lee               ## 指定访问用户
在这里插入图片描述
在这里插入图片描述
lee用户可以访问和挂载,westos用户则不行。


valid users = +lee|@lee            ## 指定访问组,用法同上


在这里插入图片描述
默认可以看见westosdir目录;
在这里插入图片描述
browseable = yes|no             ## 是否隐藏共享

在这里插入图片描述
被隐藏


在这里插入图片描述
在这里插入图片描述
map to guest = bad user          ## 写到全局设定中,所有匿名用户映射到guest,
                  因为guest是windows中的匿名用户,linux下为anonymous
guest ok = yes                ## 允许匿名用户访问
在这里插入图片描述
则匿名用户可以访问,当:
在这里插入图片描述
在这里插入图片描述
则匿名用户不可以访问。


当我们在客户机上的挂载点建立文件时,实际上实在服务器上建立;
在这里插入图片描述
test为客户机
在这里插入图片描述
dns为服务器,可以看出建立的文件时lee建立的。
在这里插入图片描述
admin users = lee     ##指定此共享的超级用户身份,当我们以lee建立文件时root身份执行
在这里插入图片描述
在这里插入图片描述

9.samba的多用户挂载

本实验全部在客户端主机中进行。
在客户端如果用普通的挂载方式,没有用过用户验证的人也可以访问samba服务
在这里插入图片描述
我们用root用户挂载samba的内容,可以看到目录下的内容,当我们切换至thermal用户时,他没有经过挂载认证,仍然可以看到挂载到 /mnt/ 下的内容。这就是系统的安全漏洞。

客户机安装 cifs
dnf

vim /root/smbpass          用户认证文件

在这里插入图片描述
password=     我没设置密码。所以为空

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

#credentials=/root/smbpass               指定认证文件
#sec=ntlmssp                     指定认证类型
#multiuser                       支持多用户
在这里插入图片描述
此时客户端主机的thermal 用户就不可以访问mnt 目录下的内容了,因为thermal用户没有通过认证
此时我们可以用cifscreds 命令对 thermal 用户进行认证

[thermal@test ~]$ cifscreds add -u lee 192.168.0.20

在这里插入图片描述
通过认证可以显示。

[westos@test /]$ cifscreds add -u lee 192.168.0.20
Key search failed: Key has expired           
当遇到此报错信息
[westos@test /]$ cifscreds add -u lee -d 192.168.0.20
Password:
[westos@test ~]$ cifscreds clearall
执行以上两条命令解决报错。

这就是samba的多用户挂载,不仅仅只使用挂载时使用的服务器上的westos用户,还可以使用服务器上的lee用户

发布了36 篇原创文章 · 获赞 13 · 访问量 1453

猜你喜欢

转载自blog.csdn.net/thermal_life/article/details/104896713