【 tulaoshi.com - Linux 】
                             
                               摘 要 本文较为详细地对Linux的Samba服务进行了剖析,内容涉及Samba的核心、语法、组成,以及 
 Samba的启动与停止。同时给出了定制Samba的几个技巧。   
 关键词 Samba,剖析,定制   
 1 引 言   
 Linux是一个优秀的网络操作系统,它可与多种网络集成。Linux系统的稳定性、可靠性受到了广大用户 
 的欢迎,在小型网或者在公司、部门、单位等内部网(Intranet)上,常将Linux充当有效而强劲的文件 
 和打印服务器,让windows客户机共享Linux系统中的文件。这种Linux与 windows网络集成是通过samba 
 来实现。Samba是一组软件包,使Linux支持SMB协议,该协议由TCP/IP实现,它是windows网络文件和打 
 印共享基础,负责处理和使用远程文件和资源。在缺省情况下,windows工作站上的Microsoft client使 
 用服务消息块(SMB)协议。正是由于samba的存在,使得windows和Linux可以集成并互相通讯。   
 2 Samba核心   
 samba的核心是两个守护进程smbd和nmbd程序,在服务器启动到停止期间持续运行。Smbd和nmbd使用的全 
 部配置信息全都保存在smb.conf文件中。Smb.conf向smbd和nmbd两个守护进程说明输出什么以便共享, 
 共享输出给谁及如何进行输出。Smbd进程的作用是处理到来的SMB软件包,为使用该软件包的资源与 
 Linux进行协商,nmbd进程使其它主机(或工作站)能浏览Linux服务器。   
 3 Samba语法   
 一个完整的 smb.conf一般由Global settings和share Definitions两部分组成。每部分由消息头和参数 
 两部分构成。消息用“[ ]”标志,参数结构形式为: 
 parameter = value。 
 其中,parameter可以是一个或用空格分隔的多个单词,value 可以是布尔值、数字或字符串。参数告诉 
 了smba提供何种服务。 
 在smb.conf文件中,注释行以“#”开头,同时每项中英文字母不区分大小写,在一行最后字符尾加 
 “”,可将一行分成多行。用“;”开头的行,是可改变的配置,将“;”去掉时,该配置将取作用。   
 4 Samba组成   
 4.1 Global settings(全局参数的设置) 
 该部分由[global]段完成Global的设置,该部分提供了全局参数,对samba的功能具有很大的影响,主要 
 用来设置整个系统规则。[global]段主要参数有: 
 workgroup=mygroup 提供NT域名 或工作组名 , mygroup是系统Red Hat6.0预置的名 字, 用户可根据 
 实际情况, 给出与windows的域名 或工作组名 相同 的名 字, 以指 出samba将在该域或工作组范围中 
 起作用。 
 server string=samba server 指 定服 务信息通常为samba服 务。 
 hosts allow 允许登录的Linux-samba的主机名 单, 用IP地址给出, 多个IP地址用空格分开, 不 在 
 名 单中的主机将不 能得到samba提供的服 务, 这也是网络安全的一个方面。 
 printcap name 指 定printcap文件地址, 通常为/etc/printcap, 包含了Linux打印机的配置信息, 
 在ReaHat linux中, lpd守护进程读取printcap文件的配置信息, 然后监测系统的打印请求并管理打印 
 进程。 
 load printers 允许使用共享打印机时, 默认值为yes。 
 printing 如果使用的打印机是非标 准的, 那么应该指 出打印机系统类型。在Linux环境中, 通常指 
 定为bsd类型。 
 guest acount 来宾帐户, 表示用哪一个Linux用户作为所要的客户连接。由于该帐户权限很小, root 
 用户通常将其置为nobody。 
 security 指 定安全模式。大多数用户使用user级的安全模式, samba用本地Unix口令文件验证。如果 
 设置为server时, samba将用password server设定windows NT域服 务器验证方式, 格式为password 
 server=NT域名 。 
 domain logons 为从win95工作站登录samba提供域名 登录服 务, 应使该项置为yes。 
 preserve case 与short preserve case 由于在Linux系统中英文大小写视为不 同 的内容, 为在 
 windows中保持原有的大小写状态, 这两项全置yes。 
 4.2 Share Definitions(共享定义) 
 4.2.1 [homes]段 
 在[homes]部分指定windows共享的主目录,如果在windows工作站登录的名字与Linux用户名相同,提供 
 的口令也一致,那么打开网络邻居,双击共享目录图标,就可获得访问该目录的权力。从windows访问 
 Linux主目录时,用户名作为主目录共享名。[homes]段的主要参数有: 
 comment 说明提供的服 务为Home Directories服 务。不 影响操作。 
 browseable 指 定其它用户能否浏览该用户主目录。一般置为no, 禁止其它用户访问, 确保数据安 
 全。 
 writable 使用户访问该目录时具有读取和写入主目录中的文件时, 取值为yes, 只有读取权限时应置 
 为no。 
 4.2.2 [printers]段 
 [pr