7.2 Samba.conf主配置文件主要设置解析 安装了Samba服务器所需要的程序包后,就会自动生成Samba服务主配置文件:/etc/Samba/smb.conf。它用于设置工作群组、 Samba服务器工作模式、NetBIOS名称以及共享目录等相关设置。打开这个文件,可以看到包括了许多配置选项,在此就不一一列举了。如果不了解相关 配置项的作用,建议保持原配置文件中的配置,仅对需要修改的项目进行修改。下面先来了解主配置文件中一些主要的全局设置选项。 7.2.1 smb.conf全局设置选项解析 在Samba服务器的主配置文件/etc/Samba/smb.conf中,所有语句是由全局设置(Global Settings)和共享定义(Share Definitions)两个部分组成的。全局设置设置关于Samba服务整体运行环境的选项,针对所有共享资源;共享定义设置共享目录。设置完基本参数 后使用testparm命令检查语法错误,如看到"Loaded services file OK"的提示信息,则表明配置文件加载正常,否则系统会提示出错的地方。本节先介绍全局设置部分。 前面说了,在长过几百行的Samba.conf默认配置文件中,可以分成两大部分,首先要配置的是全局参数。它的配置文件是以下面这行开始的:
在[global]项中的设置选项是一些主机的全局参数设置,包括工作群组、主机的 NetBIOS名称、字符编码的显示、登录文件的设定、是否使用密码以及使用密码验证的机制等。下面把这部分的一些主要设置语句列出来,介绍设置方法。注 意,在默认提供的Samba.conf配置文件中,用"#"开头的都是对下面的语句进行说明的文字,配置时不用管它。以";"开头的行是语句配置范例,修 改成自己的设置,并去掉前面的";"才能使语句生效。另外,要注意,在语句设置中,赋值"="两端必须留有一个空格。 workgroup = MYGROUP 这个设置语句用来设置Windows网络工作组或域名(如果是域,且工作模式为ads,则必须 是DNS名称,否则为NetBIOS名称)。但要注意,这里的配置要与下面的security语句对应设置,如果设置了security = domain,则workgroup用来指定Windows域名(domain模式为NetBIOS格式)。 realm = MY_REALM 这是当Samba服务器设置为ads模式时专用的一个语句,用于指定Windows 2000 Server或Windows Server 2003域网络中进行身份验证的Kerberos服务器领域名称。 netbios name = Sambaserver 这是用来设置Samba服务器的NetBIOS名称。如果没有这个语句,则在Windows计算机中显示的是默认的hostname名称。 server string = Samba Server 这个设置语句其实用途不大,相当对当前Samba服务器的一个描述,可以任意,也可以直接采用默认的"Samba Server"设置。 username map = /etc/samb/smbusers 此文件中提供了Windows系统用户登录名与本地Samba用户名的映射关系,若想要在 Windows主机中直接用Windows账户访问共享目录就必须为其在/etc/samb/smbusers文件中映射为一个Samba账户,然后就能 直接使用该Windows账户访问Samba服务器了。 这个语句不用更改配置,只是要把默认配置文件中该语句前面的"#"或";"删除掉。 security = user 这是用来设置用户访问Samba服务器的安全模式。在Samba服务器中主要有5种不同级别的安全模式:share、user、server、domian和ads。具体参见上节介绍。 hosts allow = 192.168.1. 192.168.2. 127. 这个语句是用来允许(关键字为allow)或禁止(关键字为deny)访问Samba服务器的 子网或主机的,各子网或主机IP地址间用空格分隔。默认配置文件中是仅允许了192.168.1.0/24、192.168.2.0/24这两个子网和 127.0.0.0/8这个本地环路子网的,语句把凡是为0的八位组都省略了。 【经验之谈】当host deny和hosts allow语句同时出现,并定义的内容中有包含关系,且有相互冲突时,hosts allow语句优先。如host deny语句中禁止了C类地址192.168.1.0/24整个网段主机访问,而在hosts allow语句中又设置了允许192.168.1.10主机访问Samba服务器,则最终是192.168.1.10主机可以访问,但 192.168.1.0/24网段中的其他主机仍不能访问。如果要允许或者禁止所有用户访问,则可用hosts allow = All或hosts deny = All语句。 在hosts语句中其实还有一个关键字经常用到,那就是except(除……之外)。如 hosts allow = 192.168.0. except 192.168.0.1 192.168.0.10 192.168.1.20语句表示允许192.168.0.0整个网段用户访问,但是192.168.0.1、192.168.0.10和 192.168.1.20这台计算机除外。 另外要注意,hosts语句既可以全局设置,也可以局部设置。如果hosts语句是在 [global]部分设置的,就会对整个Samba服务器全局生效,也就是对下面添加的所有共享目录生效,都采用相同的主机访问限制设置;而如果设置在具 体的共享目录部分,则表示只对该共享目录生效,更加灵活。 log file = /var/log/Samba/%m.log 这个语句用来设置Samba服务器为每个工作站主机创建一个独立的日志文件。保持默认设置即可。 max log size = 50 这个语句用来设置每个日志文件的最大限制为50KB。一般来说保持默认设置即可。 【说明】如果用户对Samba服务器的安全模式为Server模式,则还需要配置password server选项,用来指出担当身份验证的服务器名称。本示例中采用的是Domain模式,直接使用域控制器作为身份验证服务器,所以无需配置此语句。 load printers = yes | no 这个语句用来设置是否允许自动加载财贸系统中其他地方的打印机,在企业网络中,一般需要共享打印机,所以此语句保持默认的允许自动加载打印机设置即可。 interfaces = 192.168.12.2/24 192.168.13.2/24 这个设置语句用来设置在Samba服务器上有多块网卡或者分配了多个IP地址时列出所有的IP地址,各IP地址间用空格分隔。注意这是以地址前缀方式表示的。有关地址前缀表示方法参见本系列教材的初级课程。 local master = no | yes 这个语句用来设置是否要把Samba服务器当作本地网络中的主浏览器。本示例中主网络还是Windows Server 2003域网络,为了不使整个网络的浏览器管理混乱,禁止把Samba服务器当成主浏览器,保持默认配置即可。 domain master = yes | no 这个语句与上面的local master功能类似,用来设置是否把Samba服务器当作域网络的主浏览器。本示例中的网络是Windows Server 2003域网络,域控制器才是主浏览器,所以要禁止这个选择,设置成如下格式:
domain logons = yes | no 这个语句是为早期不能加入到Windows 2000 Server和Windows Server 2003域的Windows 95系统专门设置的,配置为yes值后就可以使Windows 95用户使用Samba服务器作为域控制器来登录Windows 2000 Server和Windows Server 2003域网络了。本示例的网络环境中没有这类用户,所以这个语句要修改为如下格式或者直接删除不配置:
logon script = %m.bat和logon script = %U.bat 这是两个语句,因为它们的用途类似,所以放在一起介绍。这是在启用域登录脚本时才需要配置的。 logon script = %m.bat语句可以针对具体的工作站来设置登录脚本;logon script = %U.bat则是针对具体的用户来设置的登录脚本。本示例中Linux用户无须使用登录脚本,可以不用配置。 config file = /etc/Samba/smb.conf.%U 这个语句用来为不同用户的Samba服务器访问指定使用不同的配置文件。但此时的用户配置文件 名中必须包括对应用户的完整账户名。当然这个配置文件需要管理员自己创建,不是自动生成的。可以通过复制主配置文件smb.conf来实现。如要为 lycb用户指定单独的配置文件,则该配置文件名为/etc/Samba/smb.conf.lycb。 guest account = pcguest 这个语句用来设置guest级别的来宾用户名,guest级别的用户可以不要密码就访问给定的 Samba服务器。在此设置的账号名都必须在/etc/passwd文件中。如果没有指定,服务器会当成nobody账号进行处理。默认情况下不启用 guest账号,除非是share工作模式。 以上就是Samba服务器配置文件的主要全局配置选项,下面介绍共享定义部分设置选项。 |
|
来自: angelbrian > 《囧~samba》