支持混合型系统共享的服务——SMB

什么是smaba

Samba是在Linux和UNIX系统上实现SMB(信息服务)协议的一个免费软件,由服务器及客户端程序构成。
SMB(Server Message Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。
(简单来说smaba就是支持不同计算机之间实现资源共享的服务性软件)

SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。
通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。

对于企业来讲,smabab是一个很好解决文件共享的软件,这个软件可以在linux下运用,
smb支持混合型的共享:window和linux、windows和类unix、windows和windows。

CIFS文件储存
文件共享
samba共享管理块windows
CIFS linux/unix
客户端 命令 服务
139 445 tcp/udp

SMB服务的搭建

这个实验我们准备两台虚拟机,ip为172.25.254.102的虚拟机作为服务端,ip为172.25.254.202虚拟机作为客户端

在102虚拟机上

yum search smaba
yum install samba-client.x86_64 samba-common.x86_64  samba.x86_64  -y ##安装samba的客户端应用程序 支持文件 服务端应用程序
systemctl start smb
useradd westos ##创建系统用户 samba的用户必须是系统用户
useradd lee 
smbpasswd -a westos ##虽然建立了系统用户 要给smb说明这个是可以使用它的用户 所以给用户设定使用smb的密码
smbpasswd -a lee 
pdbedit -L ##查看smb的用户

在202虚拟机上

yum install samba-client.x86_64 -y ##只安装客户端
smbclient -L //172.25.254.102 -U westos ##显示westos用户的默认分享目录 (一般分享目录是用户的家目录/home/westos)
smbclient //172.25.254.102/westos -U westos ##通过smb登陆的方式对westos用户的分享目录进行操作
mount //172.25.254.102/westos /mnt -o username=westos,password=redhat ##通过挂载的方式对westos用户分享目录进行操作

服务端
安装samba的客户端应用程序 支持文件 服务端应用程序 打开服务
在这里插入图片描述

#创建系统用户
在这里插入图片描述
smb服务使用用户
在这里插入图片描述
在这里插入图片描述
查看smb的用户
在这里插入图片描述

客户端
安装客户端软件
在这里插入图片描述

显示westos用户的默认分享目录 /home/westos

在这里插入图片描述
在客户端 挂载westos用户分享目录
在这里插入图片描述
在挂载目录下创建文件
在这里插入图片描述

回到服务端 在westos用户的家目录下查看是否建立了文件
在这里插入图片描述

通过smb登陆的方式对westos用户的分享目录进行操作

smb登陆进入的是用户的家目录
!ls 查看登陆用户之前路径下的内容
我们可以上传或下载文件
在这里插入图片描述
在服务端该用户家目录查看 是否上传成功
在这里插入图片描述

对客户端的控制

在服务端

rpm -qc samba-common ##查看服务的配置文件
/etc/samba/smb.conf ##配置文件
vim /etc/samba/smb.conf 编辑配置文件
89         workgroup = haha ##设定工作域为haha
96        hosts allow = 172.25.254.202 ##允许访问的ip
97         hosts deny= 172.25.254.202 ##不允许访问的ip

1.工作域设定

查看服务的配置文件
在这里插入图片描述

之前显示匿名用户的登陆信息 工作域为MYGROUP
在这里插入图片描述

更改配置文件工作域为haha 重启服务 查看匿名用户登陆信息工作域发生改变
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
2.白名单设定

设定允许202访问共享目录
在这里插入图片描述

202可以访问

在这里插入图片描述
102不能访问
在这里插入图片描述
3.黑名单设定

设定202不能访问smb用户家目录
在这里插入图片描述
202不能访问
在这里插入图片描述

selinux对自建目录的影响

在服务端
首先打开selinux的强制级别
mkdir /smb ##自建目录
vim /etc/smaba/smb.conf ##编辑服务的配置文件
[sudanni] ##对外共享的名称
comment = Share Directory ##类型共享性目录
path = /smb ##实际共享的目录名称
writable =yes ##可写
systemctl restart smb ##重启服务
semanage fcontext -a -t samba_share_t '/smb(/.*)?'更改安全上下文
restorecon -RvvF /smb加载

在客户端
mount //172.25.254.102/sudanni /mnt -o username=westos,password=redhat

设定强制级别
在这里插入图片描述

编辑服务的配置文件
在这里插入图片描述
重启服务后 查看共享目录信息

在这里插入图片描述
在服务端建立文件
在这里插入图片描述

挂载后 在查看该文件 查看不到
在这里插入图片描述

更改自建目录的安全上下文
在这里插入图片描述
再次在客户端上查看 可以查看的到
在这里插入图片描述

selinux对系统级目录的影响

通过降低samba服务的安全性来对系统目录进行操作 (如果是通过修改系统目录的安全上下文的话,会对该系统级的目录下其他文件产生影响,可能会造成对其他文件的读取问题)

在服务端

vim /etc/samba/smb.conf ##编辑配置文件 设定/mnt为分享目录
     [mnt]
 comment = Share Directory
  path = /mnt
 writable =yes
 systemctl restart smb
touch .mnt/file{1..3} ##在/mnt下建立三个文件

在测试端

mount //172.25.254.102/mnt  /mnt -o username=westos,password=redhat ##挂载分享目录到/mnt
cd /mnt ##进入到挂载点
ls ##查看分享目录下的内容 因为selinux的影响安全上下文不一致 是不能观察到的   
getsebool -a | grep samba ##查看samba服务的开关 
setsebool  samba_export_all_rw on ##打开读写开关

semanager fcontext 加载在内核安全上下文中的

编辑配置文件
在这里插入图片描述

服务端在共享目录下 建立文件
在这里插入图片描述
客户端进行目录挂载 但却无法查看在该目录下建立的文件 服务端和客户端/mnt目录安全上下文不一致
在这里插入图片描述

查看samba服务的开关 打开读写开关
在这里插入图片描述
再次查看 可以查看到 也可以建立文件

在这里插入图片描述
在这里插入图片描述
参数设定

在服务端编辑文件
vim /etc//samba/smb.conf
systemctl restart smb

1.是否能列出分享目录 browseable

未设定之前
在这里插入图片描述
设定不列出共享目录

在这里插入图片描述
重启之后 不显示
在这里插入图片描述

默认看不到 但是指定用户身份 去查看可以看到
smbclident -L //172.25.254.102/sudanni -U westos

2.设定用户能不能写 write list

在服务端编辑文件
vim /etc//samba/smb.conf

编辑配置文件 只有lee用户可以写
在这里插入图片描述

systemctl restart smb

3.设定用户能不能登陆 valid users

在服务端编辑文件
vim /etc//samba/smb.conf

编辑配置文件 只有lee用户登陆
在这里插入图片描述westos用户不能挂载
在这里插入图片描述

lee用户可以挂载

在这里插入图片描述

 systemctl restart smb
valid users=+westos 属于westos组的用户就可以登陆 @和+功能相同

4.游客登陆

在服务端编辑文件
vim /etc//samba/smb.conf

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

systemctl restart smb

5.提升用户权限

在服务端编辑文件
vim /ect/samba/smb.conf

    [mnt]
     comment = Share Directory
      path = /mnt
     writable =yes
     admin users = westos    ##westos用户在该分享目录下的权限是超户权限
systemctl restart smb

实现多用户挂载

现象:root挂载,但是切换到其他用户,其他用户也可以访问,不安全!
要求:自己挂载的,只能自己看,别人要看需要通过验证!

在客户端

yum install cifs-untils -y ##下载支持多用户挂载的软件
vim /root/smbpasswd ##编辑挂载共享目录时,用户身份的一个认证文件,之前挂载的时候用户信息是裸露在外面的,现在写在认证文件里面
chmod 600 /root/smbpasswd ##只有管理员可以看认证文件
username=westos
password=redhat
mount //172.25.254.102/sudanni /mnt credentials=/root/smbpasswd,sec=ntlmssp,multiuser
  /root/smbpasswd  认证的文件

下载支持多用户挂载的软件
在这里插入图片描述

编辑认证文件
在这里插入图片描述
限制权限
在这里插入图片描述

mount //172.25.254.102/sudanni /mnt -o credentials=/root/smbpasswd ##以认证文件方式挂载,现在不裸露samba用户身份了,但是切换到student用户还是可以查看挂载目录内的内容,不验证。

在这里插入图片描述

umount  /mnt  ##解挂
mount //172.25.70.22/WESTOS /mnt -o credentials=/root/smbpasswd ,sec=ntlmssp,multiuser root用户挂载的时候不让别的本地用户看自己的操作,su - student切换到本地用户, 查看,被拒绝,现在安全了
/root/smbpasswd认证的文件
sec=ntlmssp认证方式
multiuser多用户认证

在这里插入图片描述

那么此普通用户student,想要查看此共享目录内的内容,就要通过验证:
cifscreds add -u lee 172.25.254.102 给本地用户student一个samba用户的身份,此时他就可以通过验证了。
cifscreds clear -u ranran 172.25.70.22 取消samba用户身份
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值