samba服务的高级进阶配置

本文将学习一下几个方面的内容,将会结合具体的实验来一步步实现。
1、 用户账号的映射
2、 使用 IP 对客户端进行访问控制
3、 使用域名对客户端进行访问控制
4、 使用通配符对客户端进行访问控制
5、 设置 samba 的权限
6、 设置 samba 的隐藏共享
7、 Samba 客户端的配置
8、 Samba 的排错
Samba服务器的常规配置很容易就可以实现,但是并不能够满足企业的实际需求,所以需要做更加详细的配置。
(一)、用户账号的映射
因为samba服务器的账号必须对应一个同名的系统账号,所以就造成了这样的安全缺陷:只要知道samba服务器的samba账号,就等于知道了服务器的系统账号,只要破解其密码,从而加以利用,就可以来攻击samba服务器。
对于这个问题可以用账号的映射功能来加以解决。
方式:建立一个账号映射关系表,里面记录着samba账号和虚拟账号的对应关系,客户端访问时使用虚拟账号登录。这样告诉客户端用户的samba账号就不是和系统账号相对应的那个账号,而又可以访问samba服务器。
下面是具体实现的步骤
1、 开启用户账号映射功能,在全局设置中添加一行
samba服务的高级进阶配置 - zhuzhu - 津津计较
 
samba服务的高级进阶配置 - zhuzhu - 津津计较
 
2、 编辑 smbusers smbusers 保存账号映射关系,添加一行用户的账号映射关系
samba服务的高级进阶配置 - zhuzhu - 津津计较
 
samba服务的高级进阶配置 - zhuzhu - 津津计较
 
把sale1映射为sky apple
3、重启samba服务
samba服务的高级进阶配置 - zhuzhu - 津津计较
 4、验证,在windows客户端用sky 或者apple登录
samba服务的高级进阶配置 - zhuzhu - 津津计较
 见下图,登录成功
samba服务的高级进阶配置 - zhuzhu - 津津计较
 备注:建议不要把本地系统用户的密码和samba用户的密码设置成为一样。
(二)、 使用 IP 对客户端进行访问控制
需要用到host allow和host deny字段
Host allow 定义可以访问的客户端
Host deny 定义禁止访问的客户端
案例:公司内部 samba 服务器上共享了一个目录 sales ,该目录文件为销售部的共享目录,公司规定 192.168.0.0/16 这个网段的 IP 地址都不能访问该目录,但是 192.168.1.1/24 这个地址可以访问,对于该需求,我们可做如下配置
编辑 samba 的主配置文件 vi /etc/samba/smb.conf
首先把安全级别改为 share 模式
samba服务的高级进阶配置 - zhuzhu - 津津计较
 在 sales 共享目录下添加 hosts 字段,如图
samba服务的高级进阶配置 - zhuzhu - 津津计较
 Hosts deny = 192.168.0.0 表示拒绝所有来自该网段的 IP 地址的访问
Hosts allow = 192.168.1.1 表示允许该 IP 地址访问
注意:当 hosts deny hosts allow 字段同时出现的时候, hosts allow 优先。
我们在客户端验证一下,用 192.168.1.100 访问,错误信息如下
这样就达到了 IP 限制客户端访问的目的
samba服务的高级进阶配置 - zhuzhu - 津津计较
 (三)、使用域名对客户端进行限制
示例:公司 samba 服务器上共享了一个目录 public ,公司规定 .sale.com 域和 .net 域的客户端不能访问,同时,主机名为 free 的客户端也不能访问
分析:这个案例很明显不适合用 IP 限制来做,因为一个域中可能会有很多台客户端,所以可以使用域名限制,如图:
samba服务的高级进阶配置 - zhuzhu - 津津计较
 注意:域名和域名之间或域名和主机名之间要用“空格”符号隔开
(四)、使用通配符进行访问控制
示例: samba 服务器共享了一个目录 sales ,规定所有人不允许访问,只有主机名为 cli-3e723d915cf. 的客户端可以访问
samba服务的高级进阶配置 - zhuzhu - 津津计较
 把安全级别改回 user
samba服务的高级进阶配置 - zhuzhu - 津津计较
 将上面设置的主机名加入到 samba 服务器的本地 hosts 文件中,让 samba 可以解析该地址
clip_image028
samba服务的高级进阶配置 - zhuzhu - 津津计较
 
 别忘了重启 samba 服务
然后到客户端验证一下吧,我们先用 boss 帐户,可以正常访问
samba服务的高级进阶配置 - zhuzhu - 津津计较
 
samba服务的高级进阶配置 - zhuzhu - 津津计较
 
看到上面的共享文件界面后,下面是sales文件夹的内容,访问成功
samba服务的高级进阶配置 - zhuzhu - 津津计较
 备注:常用的通配符还有:“*”、“?”、“LOCAL”等
案例:规定所以人不能访问 sales 目录,只允许 192.168.1.0 网段的 IP 地址访问,但是 192.168.1.100 除外
下面我们看看具体的实现步骤
修改配置文件,使用 EXCEPT 进行设置
samba服务的高级进阶配置 - zhuzhu - 津津计较
 用 192.168.1.100 客户端验证一下
samba服务的高级进阶配置 - zhuzhu - 津津计较
 最后说一下 hosts deny hosts allow 的作用范围
它们的作用范围是不同的,设置在 [global] 里表示对 samba 服务器生效,如果设置在目录下,则表示对单一的目录生效
如图:表示只有客户端 192.168.1.100 能访问 samba 服务器
samba服务的高级进阶配置 - zhuzhu - 津津计较
 如图:表示只有客户端 192.168.1.100 可以访问 public 目录
samba服务的高级进阶配置 - zhuzhu - 津津计较
 (五)、设置 samba 的权限
案例:公司 samba 服务器上有个共享目录 sales ,公司规定只有 boss 账号和 sales 组的账号可以完全控制,其他人只有读取的权限
分析:前面我们学习的 writable 字段已经不能够满足要求了,因为:当 writable = yes 时,表示所有人都可以写入,当 writable = no 时则表死所有人都不可以写入,这时候就要用到 write list 字段了
实现的步骤如下(省略的步骤可参照前一篇文章):
1、 建立 sales 组,在组中建立两个账号 sale1 sale2 ,建立账号 boss
2、 将账号映射到 smbpasswd 账号,使用 smbpasswd –a 账号名
3、 编辑 smb 配置文件
samba服务的高级进阶配置 - zhuzhu - 津津计较
 4、 重载 smb 服务 service smb reload
5、 在客户端验证一下(省略)
(六)、 samba 的隐藏共享的设置
处于安全的考虑,该功能往往用在较为私密的目录,或是比较重要的目录上。从而保证只有管理员或者一些重要人员才知道 samba 服务器上有这个目录,而其他的员工则不知道。
Browseable 字段可以实现该功能
下面通过一个案例来说明
案例: samba 服务器有一个共享目录 sales ,只有 boss 用户可以浏览并访问该目录,其他人都不可以浏览和访问该目录
分析:通过为 boss 单独建立一个配置文件,并且让 boss 访问的时候能够读取这个单独的配置文件即可。
具体实现的步骤如下:
boss 建立独立的配置文件
samba服务的高级进阶配置 - zhuzhu - 津津计较
 编辑 smb.conf 主配置文件,添加一行
samba服务的高级进阶配置 - zhuzhu - 津津计较
 在主配置文件中设置隐藏该目录 browseable = no
clip_image052
编辑独立配置文件
boss 的独立配置文件中删除 browseable = no
samba服务的高级进阶配置 - zhuzhu - 津津计较
 重新启动一下 samba 服务
在客户端验证一下
boss 访问,可以看到 sales 目录
samba服务的高级进阶配置 - zhuzhu - 津津计较
 用其他用户访问则看不到该目录,比如用 sale1 登录,如下,没有 sales 目录
clip_image058
(七)、 samba 客户端的配置
linux 客户端访问 samba 共享有两种方式
1、 使用 smbclient 命令
首先确保客户端已经安装了 samba-client 软件包
查看目标主机共享目录列表的方式:
smbclient –L 目标 IP 地址或主机名 –U 登录用户名 % 密码
samba服务的高级进阶配置 - zhuzhu - 津津计较
 下面是匿名登录的情况,不用输入密码,直接回车即可,匿名登录看不到 sales 共享目录,因为这是一个隐藏的共享目录,只有 boss 帐户可以访问
samba服务的高级进阶配置 - zhuzhu - 津津计较
 备注:不同用户使用 smbclient 浏览的结果可能不同,根据服务器设置而定,比如权限的设置
2、 smbclient 支持命令行的共享访问方式
格式: smbclient // 目标 IP 地址或主机名 / 共享目录名 –U 用户名 % 密码
例:用 sale1 访问 public 目录
samba服务的高级进阶配置 - zhuzhu - 津津计较
 成功登录后,支持命令可以用 help 得到
samba服务的高级进阶配置 - zhuzhu - 津津计较
 3、 使用 mount 命令在客户端挂载共享目录
格式: mount –t cifs // 目标 IP 地址或主机名 / 共享目录名 挂载点 –o username= 用户名
实例:使用 sale2 账号挂载 IP 地址为 192.168.1.1 samba 服务器的共享目录 public 到客户机的 /mnt
samba服务的高级进阶配置 - zhuzhu - 津津计较
 备注:cifs表示samba所使用的文件系统
(八)、 samba 的排错思路
1 、看错误信息
2 、看配置文件,使用配置文件检查工具
3 、看日志文件的记录,切换到另一个终端对日志文件进行监控
使用: tail –F /var/log/messages
4、 使用 testparm 命令检测
5、 使用 smbclient 命令进行测试,如果客户端不能和服务器连接,会出现不同种类的出错信息,可根据不同的出错信息进行判断错误的原因
u tree connect failed( 可能是 hosts deny 字段的设置有问题 )
u Connection refused( 可能是 smbd 进程未开启,确保 smbd nmbd 进程开启,并使用 netstat –a 检查 netbios 使用的 139 端口是否处于监听状态
u Session setup failed (可能是输入了错误的用户名和密码)
u Your server software is being unfriendly (可能是服务器软件存在问题,配置 smbd 时使用了错误的参数)

 


 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值