QQ在线服务: 风舞残阳风舞残阳 年满19岁年满19岁 小罗小罗 晴天晴天 心雨心雨 叮叮肉叮叮肉 小周小周 小童小童 小破孩小破孩 遥望当年遥望当年

用户导购指南

水货IBM笔记本电脑报价

行货IBM笔记本电脑报价

IBM服务器报价

IBM笔记本电脑配件报价

本周水货IBM笔记本电脑特价

IBM笔记本电脑驱动下载

水货IBM笔记本电脑验机流程

水货IBM笔记本电脑保修政策

IBM笔记本电脑FRU查询

IBM笔记本电脑常见问题

IBM笔记本电脑使用手册

笔记本电脑验机软件

论坛积分使用说明

水货IBM笔记本电脑异地购机流程

笔记本电脑购机经历及现场

贵宾申请入口

贵宾用户FTP入口

查看笔记本配置

水货APPLE苹果笔记本电脑报价

 
发新话题
打印

[linux教程] Samba剖析与定制技巧

Samba剖析与定制技巧

摘 要 本文较为详细地对Linux的Samba服务进行了剖析,内容涉及Samba的核心、语法、组成,以及
  K2 D$ e# d# _$ z9 B Samba的启动与停止。同时给出了定制Samba的几个技巧。
+ j# f: o9 P  d: G & h; T# b8 O; y$ v
 关键词 Samba,剖析,定制
/ b" {5 J  {& i9 x2 s! [ # P: P3 \! B7 G5 Q
 1 引 言
5 P: C- y5 ~- }+ Q. m % {+ T& m0 ?5 L
 Linux是一个优秀的网络操作系统,它可与多种网络集成。Linux系统的稳定性、可靠性受到了广大用户
7 h$ |' s( s1 F 的欢迎,在小型网或者在公司、部门、单位等内部网(Intranet)上,常将Linux充当有效而强劲的文件  x2 r8 T+ m$ x6 G
 和打印服务器,让windows客户机共享Linux系统中的文件。这种Linux与 windows网络集成是通过samba: R4 K  q' \% m* a' r
 来实现。Samba是一组软件包,使Linux支持SMB协议,该协议由TCP/IP实现,它是windows网络文件和打: O/ H8 j3 S- C8 N
 印共享基础,负责处理和使用远程文件和资源。在缺省情况下,windows工作站上的Microsoft client使+ N, }0 o3 l5 W! X
 用服务消息块(SMB)协议。正是由于samba的存在,使得windows和Linux可以集成并互相通讯。( Z" x) \8 I2 J/ P$ X2 m
 
- Z& d' j5 K, |8 `' A. M 2 Samba核心
+ x/ w2 w- e6 i 
7 f0 M/ f  d: o: T! M) L3 i samba的核心是两个守护进程smbd和nmbd程序,在服务器启动到停止期间持续运行。Smbd和nmbd使用的全/ H2 H( s- b9 w, O/ V+ ^  Q
 部配置信息全都保存在smb.conf文件中。Smb.conf向smbd和nmbd两个守护进程说明输出什么以便共享,  R& i* \9 f/ z4 ?9 B7 d
 共享输出给谁及如何进行输出。Smbd进程的作用是处理到来的SMB软件包,为使用该软件包的资源与1 Z; U1 Q4 a4 ~. F3 _! D
 Linux进行协商,nmbd进程使其它主机(或工作站)能浏览Linux服务器。2 h* v  R* j/ ?* H! I5 [
 
+ \/ ]" o  v0 u& V. Y# j6 S/ _ 3 Samba语法
- y3 P5 f: }8 T 
% w! V' k2 Q5 A; j 一个完整的 smb.conf一般由Global settings和share Definitions两部分组成。每部分由消息头和参数
6 l) X8 ]0 J. O+ c4 p: o* y+ @ 两部分构成。消息用“[ ]”标志,参数结构形式为:
$ o9 c! b6 ]1 ]7 X7 r parameter = value。+ q  {3 D4 }- g1 n2 \8 e
 其中,parameter可以是一个或用空格分隔的多个单词,value 可以是布尔值、数字或字符串。参数告诉" a: D6 {$ G' H% A6 V! u+ Y8 B! ~
 了smba提供何种服务。
9 z- d) I1 ?! a  V$ `! L1 Q 在smb.conf文件中,注释行以“#”开头,同时每项中英文字母不区分大小写,在一行最后字符尾加
: ~; M' X7 t2 _ “\”,可将一行分成多行。用“;”开头的行,是可改变的配置,将“;”去掉时,该配置将取作用。/ r& R% N3 o! Y; K' y& @" b
 
0 W& U8 b( \9 m$ \/ c) c5 l. ~ 4 Samba组成2 ]2 U- _* Z! I' J- b5 Y8 ]9 `9 [
 
, f5 _: P" H7 w5 P& O" L 4.1 Global settings(全局参数的设置)8 q  |- s( j# e0 q% z' W( n
 该部分由[global]段完成Global的设置,该部分提供了全局参数,对samba的功能具有很大的影响,主要
/ Q+ V  i/ g8 D7 Z7 R' h1 v 用来设置整个系统规则。[global]段主要参数有:) B0 `! Z& {0 t- S2 O: Y
 workgroup=mygroup 提供NT域名 或工作组名 , mygroup是系统Red Hat6.0预置的名 字, 用户可根据; Z+ B4 ?$ v/ w" ~1 c* S
 实际情况, 给出与windows的域名 或工作组名 相同 的名 字, 以指 出samba将在该域或工作组范围中* H. _) a' e1 [# k7 e3 c6 q. S
 起作用。
8 L" b" d5 L0 ]( q* V server string=samba server 指 定服 务信息通常为samba服 务。, T. K0 o& _- Y. G2 L5 x8 u! E# z7 A
 hosts allow 允许登录的Linux-samba的主机名 单, 用IP地址给出, 多个IP地址用空格分开, 不 在  D: T- K0 V% G5 i
 名 单中的主机将不 能得到samba提供的服 务, 这也是网络安全的一个方面。2 Z; {- ]7 w4 K, z5 G# q
 printcap name 指 定printcap文件地址, 通常为/etc/printcap, 包含了Linux打印机的配置信息,
7 j# C. S, p9 _% h8 `: p6 Q 在ReaHat linux中, lpd守护进程读取printcap文件的配置信息, 然后监测系统的打印请求并管理打印8 g' D- w# L' _+ ^. v; [
 进程。
. y- t. E% h. I& X, o; A" F* ^ load printers 允许使用共享打印机时, 默认值为yes。3 z! \0 }9 q, E) d
 printing 如果使用的打印机是非标 准的, 那么应该指 出打印机系统类型。在Linux环境中, 通常指2 i- j$ n" \; i0 n
 定为bsd类型。; d) A# O. S8 N8 X( j& V- v0 O7 b
 guest acount 来宾帐户, 表示用哪一个Linux用户作为所要的客户连接。由于该帐户权限很小, root6 u4 d0 J* W/ K9 W
 用户通常将其置为nobody。
/ D# G# B; [, Q security 指 定安全模式。大多数用户使用user级的安全模式, samba用本地Unix口令文件验证。如果
1 J; t* T$ [9 m, g* a/ a/ K 设置为server时, samba将用password server设定windows NT域服 务器验证方式, 格式为password) e% a: K9 w+ W7 h( L: Q! _
 server=NT域名 。
, i, a# y+ [  x6 H2 ^ domain logons 为从win95工作站登录samba提供域名 登录服 务, 应使该项置为yes。6 ]$ @7 B1 ?" P: O2 i; r$ y% S1 p
 preserve case 与short preserve case 由于在Linux系统中英文大小写视为不 同 的内容, 为在; _6 T) e# @* |3 e0 Q! p
 windows中保持原有的大小写状态, 这两项全置yes。
. @3 i7 x) d$ [5 j 4.2 Share Definitions(共享定义)! V% S& }$ {' l$ d/ h; o% }
 4.2.1 [homes]段
" o) r7 F& `8 _2 m 在[homes]部分指定windows共享的主目录,如果在windows工作站登录的名字与Linux用户名相同,提供$ ~' W# W! A2 q& z& }
 的口令也一致,那么打开网络邻居,双击共享目录图标,就可获得访问该目录的权力。从windows访问
7 D5 p; b/ T0 R' d8 [ Linux主目录时,用户名作为主目录共享名。[homes]段的主要参数有:
/ F$ Z3 V4 y" ~' Z6 w comment 说明提供的服 务为Home Directories服 务。不 影响操作。
; y6 v2 }% S/ G browseable 指 定其它用户能否浏览该用户主目录。一般置为no, 禁止其它用户访问, 确保数据
# D3 s5 R/ C% y0 q9 \& G: | 全。
) N$ Q; Y$ z' E; [/ z% { writable 使用户访问该目录时具有读取和写入主目录中的文件时, 取值为yes, 只有读取权限时应置7 G' A4 Y$ C% ~, P  \' H
 为no。' K. V# o: \) l; z
 4.2.2 [printers]段
% N  K3 M! ^3 M' Z: ~6 c4 v [printers]部分用于指定如何共享 Linux网络打印机,从windwos系统访问Linux 网络打印机时,共享应9 y; x9 T+ g( I8 e
 是printcap中指定的Linux打印机名。该段中主要参数有:
* Y2 Q4 c& ~9 b& g browseable 若取值为yes, 则允许其它用户访问打印机。否则, 限制其它用户的访问权。8 h5 `# _$ i' T  p7 V
 printable 应置为yes, 才能实现打印。1 f& ]) G. A7 D+ c0 y  Z. H
 public 置为no时, 客户帐号不 打印出来;置为yes, 则打印出客户帐号。
/ S$ W' H' Q: F. M8 ^% C; | writable 打印机是输出设备 , 不 可写入, 应置为no。
1 }# p% X3 y' J# A( e 4.2.3 [tmp]段
2 Y4 A4 h$ j. o- W0 @( ~; u 该部分是为所有用户提供临时共享方法。主要参数有:8 A3 b) {: _) B: _
 path 指 定临时共享路径。通常为/tmp。6 o' _2 U/ p% ?- O
 read only 置为no时, 用户对/tmp有可读、可写和执行的权限。  }4 x/ `0 r, T
 public 一般置为yes, 以便让所有用户共享使用/tmp目录。
: j0 F  c) `* U$ M: y 4.2.4 [public]段& U2 B  H& D$ D6 e# Z5 i
 该部分提供了所有用户都可以共同访问的目录。除了那些属于维护人员具有读、写、执行权外,用户只( r; W4 G2 p; Z0 ]$ v
 具有读取的访问权限,主要参数有:
, I( E5 _6 [9 z. {/ { path 指 定公众共享目录路径, 通常为/home/samba。! d5 f+ i8 }- w! Q
 public 取值为yes, 允许公众共享。否则, 禁止公众共享/home/samba目录。, q' ~3 e& V3 e8 d: _( P+ W2 J
 writable 取值为yes时, 公众有可写权力。
1 H% y8 p' T# |! A1 w$ [- y printable 取值为no时, 无打印权力。$ O* p7 e/ h: m
 write list 指 定具有可写权力的用户名 单。
; _) [; G: n* X 4.2.5 [fredsprn]段& r& Y& a% t  f0 E: I% C$ y: e
 该段用于指定专用打印机。
# K+ q& X% q; V comment 指 出打印机名 字。
; ^- n7 G2 R+ r- a/ a3 J. M; a valid users 使用该打印机的有效用户。
% `) p: k- S. V9 n path 专用打印机使用的缓冲池数据存放在用户主目录。# S; t8 t9 n+ k3 v& p
 printer 指 出使用哪一个专用(私用)打印机。
: W% `- c- H4 O, R public 该打印机不 共享, 仅作专用(私用)。
, t6 l6 d( y5 _1 a writable 缓冲池中的数据不 可写, 应置为 no。
1 \) |: o9 ?- y2 C8 G+ `0 j- q printable 指 定打印能否启动, 一般值为yes。
: X. o$ R% Y2 T  K0 M# A3 E 4.2.6 [fredsdir]段
1 c# K. t% S% N0 Q' G  r 本段用于指定私用目录,以供指定的用户使用,该用户对该目录具有写权限。
: `4 F4 X- ^9 _0 ~4 T! i7 ^ comment 注明该目录为谁提供服 务。* ]! V0 ^9 E3 T5 V6 h. Y" x
 path 指 定私用目录路径, 以便指 定用户可读写。
7 v; n9 l6 o0 a: t. G' |3 P( ]' J valid users 指 定使用该私用目录的合法用户。: d6 L1 ]* Z: W+ `+ T5 ^: I1 [
 public 当取值为no时, 该私用目录不 供公众用户所共享。
$ d* H- n' }& d* F4 E! d( ^ writable 指 定的用户对该私用目录具有写权限时, 取值应为yes。" _3 w% X4 o8 ^+ e
 printable 取值为no时, 不 可打印。
! g5 U6 ]4 F8 G/ m) ] 4 U% F+ ~5 f+ E$ r7 S+ K2 [" t/ d
 5 samba的启动与停止
3 H+ E5 X  o9 N7 s# X/ d) H  ?# N 
5 r0 [, Z% p; F% L 在缺省情况下,Red Hat Linux的samba在启动时就已投入运行。也可利用系统脚本来手工启动和停止
+ T. w8 Z# j9 ]+ F samba。具体方法如下:
( c, c. E5 d' x( S- q* q) R # /etc/rc.d/init.d/smb start (启动samba)
4 m- n3 {; Y2 N, ^ # /etc/rc.d/init.d/smb stop (停止samba)- B% W+ B3 X: b
 . H" S  r8 v( h5 T7 Z( o
 6 定制samba技巧0 Y+ N1 A) _# Z3 N
 
3 H, B' v8 B9 y$ Z1 F 用户通过对smb.conf文件进行vi编辑,可以添加、删除及修改smba提供的多种服务。Smb.conf一般位于
: {0 |% j4 y* ~: s/ |; G/ [' o /etc 目录下,在定制符合实际需求的smb.conf时,最好使用
4 \$ X+ u, x7 Y5 k # cp /etc/smb.conf /etc/smb.conf.old 
. B4 e4 A. G" t6 b# W 进行保存。要查看smb.conf的内容时,可执行:
. A: ^+ \# J! K5 p6 Q9 b. ~ # vi /etc/smb.conf 
' J8 H5 m& h  t$ W1 @# _0 F 6.1 向公众开放 Linux文件资源,来访者只有读权限。
* y# k( v; Y. ^1 J8 e [public]7 l. H3 C9 Q2 U+ F  \* V
 comment=public stuff6 u7 H4 _/ N3 u" p- X
 path = /
! S4 y9 ^- m+ S5 C public = yes
5 |3 ~4 l, p. L9 o) G8 } writable = no
( X+ q! a+ H3 P6 T, f printale = no3 m, F. i$ d7 A: T/ o! ], E
 write list = @staff$ t: Y2 e# q8 W0 y$ O
 6.2 共享CD-ROM7 x3 I# H7 K) [. E% Z6 F7 `
 修改smb.conf之前,先安装光驱,可执行下列命令:# ]5 F( D0 E+ N. L$ C" `3 \
 # mount - t iso9660 /dev/cdrom /mnt/cdrom - I4 a" ~1 a& L+ Z, K
 然后定制samba,内容如下:4 f4 p4 I* Z& D- T' q- R
 [cdrom]* W2 z/ @2 U+ Q0 i+ F; w  x
 path = /mnt/cdrom
6 O0 b! K! n* D4 e( e/ b7 M ready only = yes2 k+ q; i9 H' n* B6 V* t
 public= yes
) }5 o# j( @9 \# R2 M# S) J3 r 6.3 为多个用户提供服务1 p, j0 g/ N8 D5 \) w3 y6 D
 comment = userl’sstuff,user2’sstuff,user3’sstuff
6 n* m- B+ F8 m# v) C* a& H path = /home/user1 (用户userl的主目录). w: A; e6 V3 [! l
 valid users = user1 user2 user3
9 d* }2 x1 x+ x( p public = no (除了user1,user2,user3外不向公众用户开放)
$ p7 h7 b) q7 s; x writable = yes (三用户对/home/user1中的文件有写权限)
: q6 [4 G2 d  v# H printable = yes (允许打印)
' j. [" v& I, t6 T5 J2 q 6.4 向公众用户开放/dev目录,浏览设备类型。& C/ d: g. L* [' T& ?* r2 e
 [dev]
  i6 f) J5 U$ i, @8 |: ~ comment = open and browse the /dev directory, [3 {  f2 H( C3 L7 \( m
 path = /dev (路径为/dev)
# O& y3 F' l5 y* P. u6 o  t8 i ready only = yes (只读)( R. P, a# }5 e1 K: F$ t
 public = yes (公众共享)  ^, `+ C3 r( u2 Q
4 g0 s+ A+ F- M8 R$ _9 e1 o$ _

% K( |9 Q) v3 `! s# l. V5 Z+ k5 |2 r8 t9 g, ~0 R0 H& Y
 通信地址:湖北孝感学院计算机科学系(432100) 李革新
& `# B% M4 g8 l/ t/ S4 d 联系电话:0712-2841540) X/ L( l. V+ |% z
 E-mail: lgx2000@yeah.net
(※本文搜集自:重庆未来科技 http://www.wlkj.net 重庆IBM笔记本电脑、重庆IBM水货笔记本电脑、重庆苹果笔记本电脑、重庆IBM服务器专卖)

TOP

发新话题