RedHat Linux 8 中samba服务部署

samba服务简介

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。
在windows系统中共享文件时用到的协议smb,


samba服务基本信息

  • 服务名称:smb.service

  • 安装包:samba;samba-common-tools, samba-client

  • 主配置目录: /etc/samba

  • 主配置文件:/etc/samba.conf

  • 安全上下文:samba_share_t

  • 端口:139;445
    在这里插入图片描述


samba服务安装与启用

  • dnf install samba-common-tools samba samba-client -y
    在这里插入图片描述
  • samba服务启动:systemctl enable --now smb
    在这里插入图片描述
  • samba服务在火墙添加启用:
    firewall-cmd --permanent --add-service=samba
    firewall-cmd --reload
    在这里插入图片描述

测试操作:
我们在windos系统中操作共享目录,右键点击目录选择属性
在这里插入图片描述
命令:smbclient -L //192.168.31.62/Study -U HEYUANXIANG,列出共享目录里的文件,-U 添加windos里的用户
在这里插入图片描述
命令:smbclient //192.168.31.62/Study -U HEYUANXIANG,进入共享的Study目录,会得到一个smb的控制台界面,可以在里面使用命令,也可以是使用 “!ls” 来查看我们本地的共享文件
在这里插入图片描述
命令:mount //192.168.31.62/Study /mnt -o username=HEYUANXIANG,password=6466,可以通过挂载共享的文件来查看文件
在这里插入图片描述
在windows系统中在开始菜单中搜索://192.168.31.62,linux主机的IP地址


samba服务用户建立

  1. amba用户必须是被地存在的用户
    在这里插入图片描述
  2. samba用户的建立
    smbpasswd -a redhat ,添加用户
    pdbedit -L ,查看用户列表
    在这里插入图片描述
    添加的用户想要被访问,需要更改sebool值
    在这里插入图片描述
    pdbedit -x redhat ,删除用户
    在这里插入图片描述

samba服务用户访问目录

windows系统下:\192.168.0.20 ,访问共享文件
如果想要切换需要访问的用户,在cmd控制界面中:
net use ,查看访问记录
net use * /del ,删除访问记录

在linux下执行:
smbclient //192.168.0.20/Study -U HEYUANXIANG,
在这里插入图片描述


samba服务共享目录

如何在linux中自定义去设定共享目录,
建立mkdir /testdir 目录,在目录中建立一些文件
在这里插入图片描述
更改目录的安全上下文:semanage fcontext -a -t samba_share_t ‘/testdir(/.*)?’
刷新安全上下文:restorecon -RvvF /testdir
在这里插入图片描述
编辑共享文件的配置:vim /etc/samba/smb.conf
写入需要共享的文件信息

[testdir]					#共享名称
        comment = testdir	#共享说明
        path = /testdir		#共享路径

写完保存退出,重启samba服务
在共享的主机里添加一个用户
在这里插入图片描述
使用另一台测试主机访问共享文件
在这里插入图片描述


samba服务的访问控制

访问控制我们需要在 /etc/samba/smb.conf 这个配置文件中写入相应的参数
配置参数:

hosts allow = IPADDR   只允许谁看
hosts deny = IPADDR  不允许谁看

IPADDR可以写多个空格隔开即可
如果在指定的目录下写入此配置,只对该目录生效
在这里插入图片描述
如果在 global 下写入此配置,表示对全局文件都生效
在这里插入图片描述

配置测试,写入配置 /testdir 目录不允许192.168.31.20 主机访问
在这里插入图片描述
保存退出,重启samba服务,测试主机再去访问就会被拒绝了
在这里插入图片描述


samba服务的常用配置参数

配置说明
writable = yes可写
write list = redhat指定用户可写
write list = +redhat / @redhat指定组可写
valid users = he指定访问用户
valid users = +he / @he指定访问组
browseable = yes / no是否隐藏共享
map to guest = bad user设定匿名用户,写到global全局设定中
guest ok = yes允许匿名用户访问,必须和设定匿名用户同时出现
admin users = he指定此共享的超级用户身份呢

这些参数的使用都是写在 /etc/samba/smb.conf 配置文件里

测试:

  • write list = redhat 指定 redhat 用户可写,为了防止文件系统对测试影响,设置 hmod 777 /testdir/
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    可写配置测试时,对于挂载的文件,需要重新挂载再测试

  • valid users = he ,允许he 用户访问
    在这里插入图片描述
    在这里插入图片描述

  • valid users = +he / @he,允许he这个组的可访问
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • browseable = yes / no ,是否隐藏共享,no表示隐藏,yes表示不隐藏
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • map to guest = bad user
    guest ok = yes, 设定允许匿名访问
    在这里插入图片描述
    在这里插入图片描述

  • admin users = he ,指定访问用户身份为超级用户
    在这里插入图片描述
    在这里插入图片描述
    通过 he 用户建立的文件,在samba服务的主机里查看到用有人是超级用户,但是拥有组依然是he ,因为这个配置不能改变建立文件的拥有组
    在这里插入图片描述


samba的多用户挂载

在客户端如果用普通的挂载方式
在这里插入图片描述
切换到系统中的其他用户,没有用过用户验证的也可以访问samba服务
在这里插入图片描述
这样相对的安全性就很低,所以针对这种情况,
在服务端的主机里我们需要去做配置,使设置之外的用户没有通过验证时不能去查看共享文件,
首先安装程序 cifs-utils.x86_64
在这里插入图片描述
在客户端建立文件:vim /root/smbpass
在这里插入图片描述
执行挂载命令:mount -o credentials=/root/smbpass,sec=ntlmssp,multiuser //192.168.31.10/testdir /mnt

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

挂载后通过验证的用户可以访问到文件,但是切换其他用户就无法查看了
在这里插入图片描述
如果其他用户也想查看共享文件,命令: cifscreds add -u redhat 192.168.31.10,加载认证,这里认证的redhat用户不是本机的,而是客户端里samba服务添加的用户
在这里插入图片描述
如果在执行命令时出现报错 “Key search failed: Key has expired” ,可以先执行 :
cifscreds add -u lee -d 192.168.31.10 ;
cifscreds clearall ,执行以上两条命令解决报错.


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Howei__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值