|
|
2.参数
段里可以指定的参数非常多,有些参数是全局段才可以用的,而有些参数是任何段都可以用的,先介绍一些基本参数,明白这些基本参数,基本上就可以一般性地应用samba了,如果要更精细地控制samba,可以继续参考一些高级配置。另外,本章假设读者对MS WINDOWS 网络是熟悉的,不熟悉的可以参考相关资料。
全局参数
2.1 基本参数
workgroup
说明:这个参数用来指定samba所要加入的工作组,另外如果在设置了security=domain,则workgroup可以指定域名。例如: workgroup = wgp1。指明工作组为wgp1 。
netbios name
说明:这个参数指定samba的netbios名,可以不设置,samba将会使用机器的DNS名的第一部分,如果你的机器的DNS名是host1.domain,就用host1 例如:netbios name = public。指定NetBios名为public。
server string
说明:这个参数指定在浏览列表里的机器描述,和MS WINDOWS 里配置网络时的描述是一样的。可以是任何字符串。也可以不填,samba会用缺省的 samba %v,即samba 尾随它的版本号,不过如果要模仿NT象一点的话,可以填一下。例如:
|
2.2 安全参数
security
说明:这是个重要的安全配置参数,有4个值,分别是share、user、server和domain,定义了samba的基本安全级,通常是 user。
security = user这是samba的默认配置,这种情况下要求用户在访问共享资源之前资源必须先提供用户名和密码进行验证。
securtiy = share这是几乎没有安全性的级别,任何用户都可以不要用户名和口令访问服务器上的资源。
security = server和user安全级类似,但用户名和密码是递交到另外一个SMB服务器去验证,比如递交给一台NT服务器。如果递交失败,就退到user安全级,从用户端看来,server和user这两个级别是没什么分别的。
security = domain这种安全级别要求网络上存在一台NT PDC,samba把用户名和密码递交给NT PDC去验证。
从用户端看来,user级以上的安全级其实是没什么分别的,只是服务器验证的方式不同,但这三种安全级都要求用户在本Linux机器上也要系统帐户。否则是不能访问的。
encrypt passwords
说明:是否对密码进行加密,samba本身可以维护一个密码文件/etc/smbpasswd,如果不对密码进行加密则在验证会话期间客户机和服务器之间传递的是明文密码,samba直接把这个密码和Linux里的/etc/passwd密码文件进行验证。这其中有些问题,之一就是在Windows 95 OS/R2以后的版本和Windows NT SP3以后的版本缺省都不传送明文密码,要让这些系统能传送明文密码必须在其注册表里更改。对于Windows 95 OS/R2以上的版本,可以在[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]里加一个十六进制值Enable PlainTextPassword=00000001。对于WINDOWS NT SP3 以上的版本,可以在[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Rdr\Parameters]里加一个十六进制值EnablePlainTextPassword=00000001,这样就可以让它们能在网络上传送明文密码。
另外,还有一件很烦人的事情就是NT系统,如果一个服务器是处于用户级别上的安全模式,又不支持密码加密传送的话,NT将拒绝和服务器连接,除非服务器向用户提示要密码。这在实际应用中会出现什么情况呢。如果你在NT机器有个帐户user1,在Linux机器上也有个帐户user1,密码都是一样,但你去和Linux机器上的共享连接的时候,NT就会提示你错误的密码或未知的用户名,要求你再次输入用户名和密码,NT才和服务器连接。如果你映射了Linux上的共享资源作为NT的一个网络驱动器,那么NT在下次启动试图重新连接这个网络驱动器时,又会提示你错误密码或未知用户名.... 烦得很。所以一般samba的应用基本都设定为yes:encrypt passwords = yes。
当然,samba的用户是基于Linux系统用户的,sambad的加密工具是smbpasswd,最简单的用法是smbpasswd -a username 这里的username必须是/etc/passwd里存在的用户名,然后会提示输入密码和确认密码,会生成一个新的密码条目,放在/etc/smbpasswd这文件里。另外,samba提供了一个工具—mksmbpasswd.sh,这是shell脚本,可以从/etc/passwd文件里生成smbpasswd文件,用法是:cat /etc/passwd | mksmbpasswd.sh > /etc/smbpasswd 。把passwd里的用户都加到smbpasswd里。从安全起见,smbpasswd这个文件的存取权限请设为600。
username map
说明:这个参数可以让你指定一个文件包含来自客户机的用户名与Linux系统用户名之间的映射,文件的格式是每行一个映射,映射的格式是:Linux usename = client username ... 。
例如 root = admin adminstrator这样,当客户机的用户是admin或administrator时,就被转换成root。 这个功能对用户管理很方便,可以让管理员不需要对客户或服务器上的用户帐号大动干戈。 文件名通常用默认的/et/smbusers password level 说明:这是针对一些SMB客户像Windows for Workgroup、OS/2之类而设的,像WFW这样的系统在发送用户密码的时候,会把密码转换成大写再发送,这样就和samba的密码不一致,这个参数可以设定密码里允许的大写字母个数,这样samba就根据这个数目对接收到的密码进行大小写重组,以重组过的密码尝试验证密码的正确性。这个值越大,组合的次数就越多,验证时间就越长,安全性也越低!
例如: 如果这个值是2,用户的密码是abcd,但发送出去其实是ABCD,samba就会把这个ABCD进行大小写重组,组合的密码可以是下列:Abcd, aBcd, abCd, abcD, abcd, ABcd, AbCd, AbcD,aBCd,aBcD,abCD。
所以如果没有必要,就把这个值定为是零(一般应该是没这必要,现在谁还用WFW这样的系统)。这样的话samba只尝试两次,一个是接收到的密码,另一个尝试的是这个密码都是小写的情况。即使是这样,也还存在着一定的安全性问题。
guest account
说明:这个参数指定guest级帐户的用户名,可以是nobody、ftp,guest级别的用户可以不要密码就访问给定的guest服务。
host allow
说明:这个参数指定那些机器可以访问samba,例如:host allow = 192.168.1. 127. 指定192.168.1.0里的所有机器都可以访问。如果不允许子网里的一台机器访问,可以这样设:host allow = 192.168.1. EXCEPT 192.168.1.33 禁止192.168.1.33访问。
host deny
说明:和host allow 相反是指定那些机器不能访问,格式一样。
2.3 日志记录参数
log file
说明:这个参数指定日志文件的名称,路径一般放在/var/log/samba,可以在文件名后加个宏%m表示对每台访问samba的机器都单独记录一个日志文件。 例如: log file = /var/log/samba/log.%m,如果host1、host2这台机器访问过samba,就会留下log.host1、log.host2这两个日志文件。
max log size 说明:这个参数指定最大日志文件的大小,以KB为单位。例如:max log size = 50k。
2.4 协议参数
announce version
说明:指定服务器的宣告版本号,默认是4.2,如果在WINDOWS的网上邻居里查看samba服务器的属性,就可以看见在类型一行里有 Windows NT 4.2 Server 的字样。一般不要去更改它,如果你要让samba模拟NT像一点的话,可以改成4.0。
2.5 计算机浏览参数
os level
说明:os level 的值是个整数,决定了nmbd是否有机会成为本地广播区域的工作组里的本地主浏览器,默认值是零,零则意味着nmbd失去浏览选择。如果要nmbd更有机会成为本地主浏览器的话,可以设为65。
preferred master
说明:这个参数指定nmbd是否是工作组里的首要的主浏览器,如果指定为yes,nmbd在启动的时候就强制一个浏览选择。指定该参数为yes时最好把domain master 也指定为yes。用这个参数的时候要注意的是在samba服务器所在的子网上如果有其它的机器(不管是WINDOWS NT还是另一个samba服务器)也指定为首要的主浏览器时,这些机器都会因为争夺主浏览器而在网络上广播,引起不必要的网络性能下降。
local master
说明:这个参数指定nmbd是否试图成为本地主浏览器,默认值是yes,如果设为no则samba服务器就永远都不会成为本地主浏览器。但即使设置了yes,也不等于samba服务器就会成为本地主浏览器。只是参与本地主浏览器选择。
domain master
说明:这个参数让nmbd成为一个域浏览器,取得各本地主浏览器的浏览列表,并将整个域的浏览列表递交给各本地主浏览器。默认值是no。如果网络上已经有一台NT PDC,就不要把这个参数设为yes,争不过NT PDC的。
另外,如果你对计算机浏览服务不是很清楚的话,可以参考NT网络管理资料。


添加到百度搜藏