访问控制
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

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

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

    1.超简单的smb.conf 该配置文件对Ubuntu和CentOS都好用. #============== Global Settings ============== [global] ## Br ...

  2. samba修改smb.conf后,不需要重启服务,就可生效

    在修改完smb.conf后,不需要重启服务.在Centos7.3与Ubuntu18.04上验证都没有问题. 猜测可能的原因:samba是在客户端进行连接时,smb服务程序读取smb.conf配置文件信 ...

  3. samba配置smb.conf

    [share]      path = /home/phinecos/share      available = yes      browsealbe = yes      public = ye ...

  4. smb.conf - Samba组件的配置文件

    总览 SYNOPSIS smb.conf是Samba组件的配置文件,包含Samba程序运行时的配置信息.smb.conf被设计成可由swat (8)程序来配置和管理.本文件包含了关于smb.conf的 ...

  5. Linux Samba服务主配文件smb.conf中文详解

    从网上找到描述比较详细的smb.conf中文解释: 服务名:smb 配置目录:/etc/sabma/ 主配置文件:/etc/sabma/smb.conf #====================== ...

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

    转自:https://blog.csdn.net/maotianwang/article/details/52524732 从网上找到描述比较详细的smb.conf中文解释: 服务名:smb 配置目录 ...

  7. 【转帖】samba的配置文件smb.conf详细说明

    samba的配置文件smb.conf详细说明 https://blog.csdn.net/cqboy1991/article/details/9791033 找时间自己写一个blog 说明一下搭建过程 ...

  8. smb.conf详解[未完]

    看着玩意看的吐血!!!! baidu\google充斥着一堆错误的文章及翻译,samba.org上动辄就是this document is old and might be incurrent. 不过 ...

  9. smb.conf免密登录文件

    # This is the main Samba configuration file. You should read the# smb.conf(5) manual page in order t ...

随机推荐

  1. 【EF】vs2017中没有EF模型

    在添加->新建项目 中找不到实体模型? 或者 在vs中打开edmx文件时,显示的只有文本,没有图形模式 原因:是因为没有安装实体模型插件 解决方法: 1.打开网址 https://marketp ...

  2. 【CPLEX教程01】Cplex介绍,下载和安装Cplex

    前言 最近学习列生成算法,需要用到优化求解器.所以打算学习一下cplex这个商业求解器. 当然也有其他更多的选择,这里暂时以比较容易上手和性能比较好的cplex开始吧.其实,小编也早就想学习使用这个c ...

  3. zabbix与agent端通信加密

    Zabbix版本从3.0之后,开始支持Zabbix server, Zabbix proxy, Zabbix agent, zabbix_sender and zabbix_get之间的通信加密,加密 ...

  4. VirtualAlloc加载shellcode免杀一点记录

    一个很好的学习网站 推荐一下: https://docs.microsoft.com/zh-cn/windows/win32/api/ 0x01 VirtualAlloc VirtualAlloc: ...

  5. Perl寻路A*算法实现

    A*算法:A*(A-Star)算法是一种静态路网中求解最短路径最有效的直接搜索方法.估价值与实际值越接近,估价函数取得就越好. 公式表示为: f(n)=g(n)+h(n),其中 f(n) 是从初始点经 ...

  6. 树莓派连接18b20测温度

    树莓派系统包含了18b20的驱动(1-wire interface),我们只需要将其开启即可.有两种开启方式: 方式一:输入raspi-config命令,然后在interfacing options ...

  7. JVM 类的卸载

    1.当某个类被加载,连接和初始化后,它的生命周期就开始了.当代表这个类的Class对象不再被引用,即不可触及时,Class对象就会结束生命周期,这个类在方法区内的数据也会被卸载,从而结束这个类的生命周 ...

  8. oracle 删除某个用户下的所有对象

    先存放好dropobj.sql 文件 然后登录需要删除的用户 删除前最好备份一下:(备份是在cmd中进行的) C:\Users\panfu>exp file=d:\expall.dmp log= ...

  9. gdbhooks 栈信息

    https://devguide.python.org/gdb/ https://sourceware.org/gdb/current/onlinedocs/gdb/Python.html#Pytho ...

  10. ArcPy python实例教程-条件平差-测量平差

    ArcPy python实例教程-条件平差-测量平差 商务合作,科技咨询,版权转让:向日葵,135-4855__4328,xiexiaokui#qq.com 输入参数:条件方程的系数,观测值,常数项和 ...