Linux -- Samba访问控制

访问控制(1)

在6.3.3节中主要是针对某些特定用户使用共享资源权限的控制,其管理主体为用户。如果需要针对主机进行控制,方法也比较多,可以使用IPTables(具体见第17章),也可以使用Samba服务自身的控制。其实Samba所提供的访问控制功能已经非常强大。Samba的访问控制通过hosts
allow(配置允许访问的客户端)、hosts deny(配置拒绝访问的客户端)两个参数实现。

在Samba中使用hosts allow、hosts
deny参数时,该参数可以出现在全局配置部分(如图6-31所示),用于允许或拒绝可连接到Samba服务器的客户端,也可以出现在具体的共享资源配置中(如图6-32所示)用于允许或拒绝可访问该资源的客户端。如果在全局配置部分的hosts
allow、hosts
deny与具体共享资源的配置发生冲突时会怎么样呢?通过Samba的工作过程不难看出Samba客户端首先要可以连接到Samba服务器,才能访问其共享资源,所有全局配置部分的hosts
allow、hosts deny优先级与具体共享资源的配置发生冲突时使用以下规则。

(1)全局配置中hosts deny指定客户端,此时无法访问Samba服务器任何共享资源。

(2)全局配置中hosts allow指定客户端,分以下几种情况。

①:如具体共享资源中只指定了hosts deny且与全局配置不冲突时,客户端可以访问具体共享资源。

②:如具体共享资源中只指定了hosts allow且是全局配置的子集时,只有具体共享资源中指定的客户端可以访问。

③:如具体共享资源中即指定了hosts allow又指定了hosts deny时,首先根据hosts allow与hosts
deny生效规则得出具体共享资源允许或拒绝的客户端,再根据上面两条规则得出最终的结果。

如果全局配置内或具体共享资源内的hosts allow与hosts deny发生冲突时会使用以下规则。

(1)如果hosts deny与hosts allow发生冲突时,hosts allow优先。

(2)如果只有hosts allow,除了hosts allow中指定的客户端外其他所有客户端都不能访问。

(3)如果只有hosts deny,除了hosts deny中指定的客户端外其他所有客户都可以访问。

1.使用IP地址控制

在hosts allow及hosts deny时,可通过使用IP地址精确允许或拒绝特定客户端访问Samba服务器,下面看几个例子。

(1)不允许IP地址为192.168.0.20的客户端访问Samba服务器上smbtest目录。

[smbtest]       comment = This is smb test       path = /test       hosts deny = 192.168.0.20

(2)只允许IP地址为192.168.0.25的客户端访Samba服务器上smbtest目录。

[smbtest]       comment = This is smb test       path = /test       hosts allow = 192.168.0.20

(3)下面的例子中,IP地址为192.168.0.99的客户端可以访问Samba服务器上的smbtest目录吗?当然是允许访问,为什么呢?因为在Samba中hosts
allow比hosts deny优先级要高。

[smbtest]       comment = This is smb test       path = /test       hosts allow = 192.168.0.99       hosts deny = 192.168.0.99

2.使用网段控制

在hosts allow及hosts
deny时,可通过使用子网允许或拒绝特定客户端访问Samba服务器,在表示子网时可以使用192.168.0./24、192.168.0.或192.168.0.0/255.255.255.0表示192.168.0.0子网掩码24位子网。下面看几个例子。

(1)不允许192.168.0.0/24所有客户端访问Samba服务器上smbtest目录。

[smbtest]       comment = This is smb test       path = /test       hosts deny = 192.168.0.

(2)只允许192.168.0.0/24所有客户端访Samba服务器上smbtest目录。

[smbtest]       comment = This is smb test       path = /test       hosts allow = 192.168.0.

(3)不允许192.168.0.0/24但不包括192.168.0.99的客户端访问Samba服务器上smbtest目录。

[smbtest]       comment = This is smb test       path = /test       hosts deny = 192.168.0.       hosts allow = 192.168.0.99

(4)只允许192.168.0.0/24但不包括192.168.0.99的客户端访问Samba服务器上smbtest目录。

[smbtest]       comment = This is smb test       path = /test       # EXCEPT参数表示不包括。       hosts allow = 192.168.0. EXCEPT 192.168.0.99

访问控制(2)

3.使用域名控制

在hosts allow及hosts
deny时,可通过使用域名允许或拒绝特定客户端访问Samba服务器,在表示域名时可以使用FQDN表示某个具体的客户端或用域名表示某个域的所有客户端。下面看几个例子。

(1)不允许FQDN为client1.example.com的客户端访问Samba服务器上smbtest目录。

[smbtest]       comment = This is smb test       path = /test       hosts deny = client1.example.com.  (2)只允许example.com域的所有客户端访

(2)只允许example.com域的所有客户端访问Samba服务器上smbtest目录。

[smbtest]       comment = This is smb test       path = /test       hosts deny =.example.com

(3)不允许example.com区域但不包括192.168.0.99的客户端访问Samba服务器上smbtest目录。

[smbtest]       comment = This is smb test       path = /test       hosts deny = .example.com       hosts allow = 192.168.0.99

(4)只允许example.com但不包括IP地址为192.168.0.99的客户端访问Samba服务器上smbtest目录。

[smbtest]       comment = This is smb test       path = /test       hosts allow = .example.com EXCEPT 192.168.0.99

4.使用通配符控制

在hosts allow及hosts
deny时,可通过使用通配符代表特定客户端集。可以使用的通配符主要有:ALL表示所有客户端,*表示任何个字符,?表示一个字符,LOCAL表示本地计算机。下面看几个例子。

(1)拒绝除了192.168.0.99及192.168.0.100以外的所有客户端访问Samba服务器上smbtest目录。

[smbtest]       comment = This is smb test       path = /test       hosts deny = ALL      #多个匹配条件区用空格分隔。       hosts allow = 192.168.0.99 192.168.0.100

(2)除了192.168.0.0/24网段的客户端(不包括192.168.0.99)以外拒绝所有客户端访问Samba服务器上smbtest目录。

[smbtest]       comment = This is smb test       path = /test       hosts deny = ALL      hosts allow = 192.168.0. EXCEPT 192.168.0.99

对于使用hosts allow及hosts
deny的各种形式,看一个综合例子:只允许192.168.0.0/24、192.168.1.0/24及192.168.2.0/24连接到Samba服务器,只允许.example.com域,但不包括192.168.0.99的客户端访问名为smbtest的共享目录,只允许192.168.1.0/24的客户端访问名为smbtest1的共享。

(1)在[global]标签下加入如下参数。

[global]       hosts allow = lo 192.168.0. 192.168.1. 192.168.2.  (2)在具体共享资源中加入如下参数。

(2)在具体共享资源中加入如下参数。

[smbtest]       comment = This is smb test       path = /test       hosts allow = .example.com EXCEPT 192.168.0.99   [smbtest1]       comment = This is smb test1       path = /test1       hosts allow = 192.168.1.

参考: http://book.51cto.com/art/201108/282445.htm

时间: 2024-10-10 14:19:15

Linux -- Samba访问控制的相关文章

Linux Samba (1)基本概念

samba的功能很简单,就是为了使linux和windows之间能够实现共享.并且利用samba搭建文件服务器,不仅比windows功能强大,而且访问速度快.安全.samba服务器具有这么多优点,看来学习搭建samba是网管必须的任务了.使用SMB/CIFS协议. samba的端口: TCP    139 UDP    137    138 smbd 提供对文件/打印资源的共享访问 TCP 139 TCP 445 nmbd 提供netbios主机名称解析          UDP 137 UDP

RHEL6.5上Oracle ACFS与Linux samba一起使用时遇到的bug

RHEL上的Oracle ACFS与linux samba一起使用时遇到的bug 一.环境介绍: cat /etc/issue的结果为: Red Hat Enterprise Linux Server release 6.5 (Santiago) Kernel \r on an \m GI的详细patch信息:仅仅安装了GI的11.2.0.4版本,没有打任何的GI psu,没有打任何的GI patch 二.问题说明: 这是一套rhel6.5的rac,使用的是Oracle GI集群软件,使用了ac

分析Linux 文件系统访问控制列表

1.What is FACL? FACL,文件系统访问控制列表,即Filesystem Access Control List.根据以前对LINUX权限模型的了解,大概如下: 假设有这么一个场景: 用户TOM创建的文件file,希望用户LUCY可以访问和编辑. 分析: 第一,可否TOM用户临时改变file的owner为LUCY,这样就可以达到目的. 显然,这并不可行.因为普通用户根本就没有chown的权限. 第二,可否设置LUCY在file的属组并属组权限有rw或者file的other权限有rw

linux samba安装及配置

1.  安装 yum -y install samba 2.  查看安装路径  #whereis samba 3.  配置全局 [global] workgroup = LinuxSir netbios name = LinuxSir05 server string = Linux Samba Server TestServer security = shar 4. 配置共享目录 [staticres] path = /data/files writeable = yes browseable

主机Window访问不了虚拟机Linux Samba服务提供的目录

笔者最近遇到的一个问题,虚拟机Linux中的Samba服务正常开启,主机通过"\\192.168.229.200" (我的虚拟机中Linux系统配置的静态地址)访问不了Share目录(/var/test),而且经过数次的重启,检查配置,再重启,都没法解决.后来突然想到了主机管理服务配置中虚拟机相关服务是否开启,才恍然大悟,因此写这篇短文和遇到类似问题的朋友们一起分享. 如果按照笔者之前写的这篇文章 虚拟Linux系统设置静态局域网地址与主机实现Samba服务 配置静态地址,安装并简单配

Linux SAMBA Practical

Samba配置 on Ap1-10.*.16.81首先,判斷samba服務是否安裝?[[email protected] ~]# rpm -qa|grep sambasamba-client-3.5.10-125.el6.x86_64samba-winbind-3.5.10-125.el6.x86_64samba-winbind-clients-3.5.10-125.el6.x86_64samba-common-3.5.10-125.el6.x86_64samba-3.5.10-125.el6.

CVE-2017-7494 Linux Samba named pipe file Open Vul Lead to DLL Execution

catalogue 1. 漏洞复现 2. 漏洞代码原理分析 3. 漏洞利用前提 4. 临时缓解 && 修复手段 1. 漏洞复现 1. SMB登录上去 2. 枚举共享目录,得到共享目录/文件列表,匿名IPC$将会被跳过 3. 从中过滤目录,检测是否可写(通过创建一个.txt方式实现) 4. 生成一个随机8位的so文件名,并将paylaod写入so中 5. 最后一步,连接到\\192.168.206.128\\IPC$,在smb登录状态下,创建/打开一个named pipe 0x1: POC1

Linux -- Samba配置

Samba配置 Samba服务安装完成后,需要修改Samba服务配置文件以满足使用需求.Samba主配置文件为smb.conf,位于/etc/samba目录下.Samba服务配置基本流程如图6-2所示. 常规配置(1) 1.Samba服务启动.暂停 Samba属于System V服务,其启动.暂停相关命令如下. service smb start       #启动  service smb stop        #停止  service smb restart     #重新启动  serv

linux -samba

yum install samba samba-client samba-swat samba-common-3.6.9-151.el6.x86_64 //主要提供samba服务器的设置文件与设置文件语法检验程序testparmsamba-client-3.6.9-151.el6.x86_64 //客户端软件,主要提供linux主机作为客户端时,所需要的工具指令集samba-swat-3.6.9-151.el6.x86_64 //基于https协议的samba服务器web配置界面samba-3.