Samba访问控制smb.conf

访问控制

Samba的访问控制通过hosts allow(配置允许访问的客户端)、hosts deny(配置拒绝访问的客户端)两个参数实现。

在Samba中使用hosts allow、hosts deny参数时,该参数可以出现在全局配置部分,用于允许或拒绝可连接到Samba服务器的客户端,也可以出现在具体的共享资源配置中用于允许或拒绝可访问该资源的客户端。如果在全局配置部分的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生效规则得出具体共享资源允许或拒绝的客户端,再根据上面两条规则得出最终的结果。

1.使用IP地址控制

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

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

[smbtest]

path = /test

hosts deny = 192.168.0.20

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

[smbtest]

path = /test

hosts allow = 192.168.0.25

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

[smbtest]

path = /test

hosts allow = 192.168.0.99

hosts deny = 192.168.0.99

2.使用网段控制

在hosts allow及hosts deny时,可通过使用子网允许或拒绝特定客户端访问Samba服务器,在表示子网时可以使用192.168.0.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]

path = /test

hosts deny = 192.168.0.

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

[smbtest]

path = /test

hosts allow = 192.168.0.

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

[smbtest]

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]

path = /test

hosts allow = 192.168.0. EXCEPT 192.168.0.99

3.使用域名控制

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

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

[smbtest]

path = /test

hosts deny = client1.example.com.

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

[smbtest]

path = /test

hosts allow = .example.com

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

[smbtest]

path = /test

hosts deny = .example.com

hosts allow = 192.168.0.99

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

[smbtest]

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]

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]

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)在具体共享资源中加入如下参数。

[smbtest]

path = /test

hosts allow = .example.com EXCEPT 192.168.0.99

[smbtest1]

path = /test1

hosts allow = 192.168.1.

转载:http://blog.sina.com.cn/s/blog_63c8c46401014umd.html

原文地址:https://www.cnblogs.com/buxiangxin/p/8621410.html

时间: 2024-11-02 15:47:46

Samba访问控制smb.conf的相关文章

Linux系统(Ubuntu/Debian/RedHat/CentOS)超级简单的samba配置文件smb.conf

1.超简单的smb.conf 该配置文件对Ubuntu和CentOS都好用. #============== Global Settings ============== [global] ## Browsing/Identification ### workgroup = mshome server string = samba security = share wins support = no guest account = wslu #============== Share Defin

samba (smb)

1.介绍; SMB协议(samba程序),是一组用来在局域网中共享文件.打印机设备的协议. 在SMB协议出现之前,已存在FTP及NFS. FTP可以实现网络文件的浏览,下载及上传,但却无法很方便的对网络文件进行查看.修改. NFS(NetworkFile System)解决了FTP的问题,可以方便的查看及修改网络文件.但是只能在windows之间使用. 因此Tridgwell开发出了SMB协议(Server Message Block),支持windows与linux系统文件共享.当然也支持wi

samba服务器配置文件smb.conf详解

配置文件详解    Samba配置文件非常简介明了,所有的设置都在/etc/samba/smb.conf配置文件中进行,通过对该配置文件的修改我们可以将Samba配置为一台匿名文件服务器.基于账户的文件服务器或打印服务器,默认Samba会开启本地帐号家目录共享与打印机共享,配置文件中以#或;符号开头的行为注释行,配置文件分为若干段,除了global(全局配置段)之外的其余所有段用来描述共享资源,全局段中的配置代表全局有效,是全局的默认设置.但如果全局配置段中的设置项与共享段中的设置项有冲突,则共

samba应用常见问题 和 修改后的smb.conf文件

 一.samba的安装: sudo apt-get insall samba sudo apt-get install smbfs 二. 创建共享目录: mkdir /home/phinecos/share sodu chmod 777 /home/phinecos/share 三. 创建Samba配置文件: 1. 保存现有的配置文件 sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak 2. 修改现配置文件 sudo gedit /etc/sa

Linux Samba服务主配文件smb.conf中文详解【转】

转自:https://blog.csdn.net/maotianwang/article/details/52524732 从网上找到描述比较详细的smb.conf中文解释: 服务名:smb 配置目录:/etc/sabma/ 主配置文件:/etc/sabma/smb.conf #============================== Global Settings ============================= [global] samba服务器的全局设置,对整个服务器有效.

AD域用户和samba结合使用,smb.conf配置文件

#此配置文件仅为samba和AD域用户访问设置权限的配置文件 [global]    workgroup = OFFICE realm = OFFICE.ABC.COM    security = ADS    client signing = required    template homedir = /home/%U    template shell = /bin/bash    winbind enum users = Yes    winbind enum groups = Yes 

Linux -- Samba访问控制

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

emqtt emq 的主题访问控制 acl.conf

访问控制(ACL) EMQ 消息服务器通过 ACL(Access Control List) 实现 MQTT 客户端访问控制. ACL 访问控制规则定义: 允许(Allow)|拒绝(Deny) 谁(Who) 订阅(Subscribe)|发布(Publish) 主题列表(Topics) MQTT 客户端发起订阅/发布请求时,EMQ 消息服务器的访问控制模块,会逐条匹配 ACL 规则,直到匹配成功为止: --------- --------- --------- Client -> | Rule1

WIN10 Samba(SMB) v1 问题解决

https://jingyan.baidu.com/article/c33e3f48f57423ea15cbb507.html powershell dir \\localhost\c$ Get-SmbServerConfigurationGet-SmbConnectionGet-SmbConnection -192.168.1.96 localhost