Samba剖析与定制技巧

摘 要 本文较为详细地对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

推荐阅读