当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > Samba剖析与定制技巧

Unix/Linux
如何在linux下面运行招商银行专业版
Windows和Linux系统共存 完美解决方案
Linux 和对称多处理应用程序介绍
Red Hat Linux 附加引导和内核引导选项
Linux 2.6.11内核文件IO系统调用详解
走向高手之路 Linux系统内核技术解读
菜鸟乐园 Linux系统内核代码特色一览
Linux内核和传统Unix内核的比较
内核中的物理内存分配函数kernel api
使用 Linux 系统调用的内核命令
详细解析 Linux内核的主要配置选项
内核操作 Linux2.6内核驱动移植参考
Linux内存中Swap和Buffer Cache机制
高手进阶 更换Fedora Core 6的内核
高手风范 Linux操作系统内核编码风格
Linux操作系统内核中工作队列的操作
揭开Linux系统内核调试器的神秘面纱
系统“大挪移” Linux服务器迁移大法
高手进阶 重新编译Linux操作系统的内核
Ubuntu系统关于驱动模块命令的一些使用

Unix/Linux 中的 Samba剖析与定制技巧


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 247 ::
收藏到网摘: n/a

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