红联Linux门户
Linux帮助

小试Samba服务器

发布时间:2006-08-23 15:26:30来源:红联作者:Space
1.什么是Samba

  Samba可以想象成一个局域网上的文件服务器。它可以为在同一个了网中的客户(如Win95、WinNT等)提供文件服务和打印服务。也就是说,Samba服务器可以让LINUX实现象Novell Netware文件服务器提供的功能。

2.Samba工作原理

Samba的工作原理是,让NETBIOS(Windows95网络邻居的通讯协议)和SMA Server Message Block)这两个协议运行于TCP/IP通信协议之上,并且使用Windows 95的NETBEUI协议让LINUX可以在网络邻居上被Windows 95看到。

其中最重要的就是SMB协议(Server Message Block),这是一个用于不同计算机之间共享打印机、串行口和通讯抽象(如命名管道、邮件插槽等)的协议。SMB协议是一个非常重要的协议,在所有 的Microsoft Windows系列操作系统中广为应用。

Samba是SMB服务器在类UNIX系统上的实现。它是开放源代码的GPL自由软件。目前Samba可以在几乎所有的UNIX变种上运行。

3.安装Samba服务器

在RedHat LINUX操作系统中,只要在安装的时候选择了Samba,那么它就会在安装LINUX的同时安装Samba。如果没有选择的话,也可以在光盘上找到Samba的RPM安装包,使用RPM安装它就可以了。

4.配置Samba

配置Samba的工作其实就是对它的配置文件smb.conf进行相应的设置。Smb.conf关系着Samba服务器的权限设置,以及共享的目录、打印机和机器所属的工作组等各种细致的选项。

文件smb.conf的语法非常明确。文件被分成段,每一段的名字用一个方括号括起来。在每一段内用“名称=值”的格式来设置参数。最前面加分号表示该句为注释。在后面的讲述中,我们只说明最常用到的最基本的一些部分,而更加深入的设置,请大家阅读这个文件的注释段。

整个配置文件中最基本是三个特殊段。


1.Global段:配置服务器在整个过程中用到的参数,并为其它段提供缺省值。

[global]

workgroup=MYGROUP

; hosts allow = 192.168.1. 192.168.2. 127.

printcap name = /etc/printcap

load printers = yes

log file = /var/log/samba/log.%m

1) 第一句workgroup用来指定机器在网络邻居所处的工作组。默认值为MYGROUP,大家可以根据自己的喜爱进行相应的修改。

2) 而hosts allow是一个用来指定在局域网中哪些机器可以使用Samba服务的描述。一般情况,无须设置,所以最前面用一个“;”开始,表示将这句注释掉。

3) 而第三句则是告诉Samba,打印机名称的位置。

4) 第四行load printers = yes则是告诉Samba服务器,允许浏览所有的打印机。

5) 最后一句则是指定了log日志文件的存放地址。

2.Homes段:这个段是用来表示允许客户机连接的用户主目录。在smb.conf文件中没有这个目录的特定内容。当发出服务请求时,就在smb.conf文件的其它部分寻找这种特定的服务。如果没有发现这种服务,并且提供了homes段时,就搜索密码文件去发现用户的主目录。通过分解Homes段,Samba使用户主目录作为共享而使用。下面是这个段的最基本的几个设置。

[homes]

comment=Home Directory

browseable=no

writable=yes ) 其中comment提定客户机在服务器上可以使用的共享。


2) browseable则设置Samba在网络浏览表是否显示目录,建议改为browseable=yes。

3) 最后一句则是表示是否具有写权限。

3. Printers段:设置打印机的共享状况。样板如下表所示:

[printers]

comment=All printers

browseable=no

printable=yes

建议将browseable=no改为browseable=yes。

一般地,在默认的smb.conf文件中已经做了最基本的设置,不加修改就可以应用在多种情况之中。所以建议初学者可以不用修改它。当然如果必要的话,可以参考注释语句进行一些尝试。

也就是说,如果大家不对smb.conf作修改,客户机已经能够使用最基本的Samba服务.

4.启动Samba服务器

启动Samba服务器的方法有两种。一种是standalone方式,另一种是Inted方式:

启动方式 占有资源 反应速度

Standalone方式 多 快

Inted方式 少 慢

我们建议使用Inted方式启动Samba服务器,要注意的是,我们不能同时采用两种方式运行,否则将造成Samba服务工作不政常。而默认状态下也是使用这种启动方式。

) 使用Inted方式启动:


安装Samba时,会在/etc/services文件中增加类似的以下几行:

netbios-ns 137/tcp

netbios-ns 137/udp

netbios-dgm 138/tcp

netbios-dgm 138/udp

netbios-ssn 139/tcp

netbios-ssn 139/udp

而在/etc/inetd.conf文件中也新增了以下几行:

netbios-ssn stream tcp nowait root /usr/sbin/smbd smbd

netbios-ns dgram udp wait root /usr/sbin/nmdb nmdb

如果你想要用下一种方式启动,请在它们前面加上一个注释符号“#”,然后执行inetd命令使修改生效。

2) 使用Standalone方式启动

如果你要使用这种方式启动,请在/etc/rc.d/rc.local文件中加入以下几行:

echo “Startting Samba Server……”

/usr/local/samba/bin/smbd -D -d1

/usr/local/samba/bin/nmbd -D -d1 -n LINUX

5.使用Samba服务

以Windows 9x为例,我们只要打开网上邻居,就可以发现一个新的工作组MYGROUP,下面还有这台LINUX主机。我们就可以使用Samba服务了
文章评论

共有 1 条评论

  1. 丁丁 于 2006-08-23 21:10:12发表:

    不是所samba很复杂吗?