利用samba3.0构建samba服务器

发表于:2007-07-04来源:作者:点击数: 标签:
Samba是一个功能强大的软件工具,它可以让基于 UNIX 操作系统的计算机系统和基于 Windows 的 计算机系统相互合作,之所以能做到这一点,是因为Samba能够理解微软公司使用的联网协议SMB( SessionMessageBlock,任务消息块).从系统管理员的观点看,这意味着不需要在

Samba是一个功能强大的软件工具,它可以让基于UNIX操作系统的计算机系统和基于Windows
计算机系统相互合作,之所以能做到这一点,是因为Samba能够理解微软公司使用的联网协议SMB(
Session Message Block,任务消息块).从系统管理员的观点看,这意味着不需要在网络中所有的
Windows客户机上都安装NFS服务就可以使用一个基于UNIX操作系统的服务器,而客户机则可以使用
自己原来的方式与服务器进行通信,这样减少了用户在系统管理方面的劳动强度,在网络无缝集成方面
也可以多一些选择.Samba属于GNU Public License(简称GPL)的软件;因此,任何用户都可以
合法且免费地使用它。

Samba  的主要功能如下:  
(1)提供Windows NT风格的文件和打印机共享 Windows 95、Windows 98、Windows NT等以 
     据此共享UNIX等其他操作系统的资源,外表看起来和共享NT的资源没有区别。 
(2)解析NetBIOS名字IP 在Windows网络中,为了能够利用网上资源,同时自己的资源也能被 
     别人所利用;各个主机都定期地向网上广播自己的身份信息。而负责收集这些信息,为别 
     的主机;提供检索情报的服务器就被称为浏览服务器.Samba可以有效地完成这项功能,在 
     跨越网关的时候Samba还可以作WINS服务器使用。 
(3)提供SMB客户功能 利用Samba提供的smbclint程序可以从UNIX下以类似于 FTP的方式访 
     问Windows的资源。  
(4)备份PC上的资源 利用一个叫smbtar的shell 脚本,可以使用 tar 格式备份和恢复一台 
     远程 Windows上的共享文件。  
(5)提供一个命令行工具,在其上可以有限制地支持NT的某些管理功能。  

    九月十五号,samba公司发布了samba3.0的版本,鉴于以前samba有诸多问题,于是我将我的samba服务
进行了升级,由于源码刚发布不久,它的rpm包还没有(抱歉我的系统是redhat),于是我选择了用tar包
来安装.源代码包可以从samba公司的官方网站http://www.samba.org上获得.

1.准备工作
    我的操作系统是redhat9.0
    samba文件放置的目录为/home/user/samba-3.0.0.tar.gz

2.编译、安装
    首先进入/home/user目录下,执行解包指令
    [root@linux user]# tar zxvf samba-3.0.0.tar.gz
    然后进入samba-3.0.0目录下,在这个目录中有一个whatsnew.txt的文件,这个文件记录了samba3.0.0
版本比以前几个版本修正的错误,如果英文不成问题的情况下,建议看看.在此不在赘述,然后直接进入source
目录下,samba在配置的时候提供了很多的参数,我们一般用到的就是
          --with-smbmount
          --prefix=
好了,我们继续来编译
[root@linux user]# ./configure --with-smbmount --prefix=/usr/local/samba
执行make指令
[root@linux user]# make
这样就可以创建二进制程序和手册页了,然后再执行make install
[root@linux user]# make install
这样就将安装文件安装完了

3.配置
     首先要将源代码包中/examples/smb.conf.default文件拷贝到/usr/local/samba/lib下,并将其改名为smb.conf,
然后通过testparm程序来测试smb.conf文件,如果testparm运行OK就会列出可装载的服务项,否则给出出错信息.
然后进入/usr/local/samba/lib目录下,去修改smb.conf配置文件,如果只是实现简单需求的话,只需要更改相应的几个简单的
选项即可:
      security = share
找到security的地方,将默认security=user改为share,即共享
;[public]
;   comment = Public Stuff
;   path = /home/samba
;   public = yes
;   writable = yes
;   printable = no
;   write list = @staff
然后再找到上面配置的地方,将前面的;号去掉,将path=处改为你希望共享的目录.

以上只是最简单实现samba的方法,如果还需要其他的需求,可以根据自己的需求进行相应的设置

4.启动服务
     这是一个需要注意的地方,在samba3.0以前的版本,包括2.2.5,2.2.6,2.2.7,2.2.8和2.2.8a都是通过执行
     /usr/local/samba/bin/smbd -D
     /usr/local/samba/bin/nmbd -D
来启动服务,但是[color=blue:e755e69417]3.0.0的版本却将守护进程smbd和nmbd放到/usr/local/sambd/sbin/的目录下[/color:e755e69417](更确切的说应该是[color=blue:e755e69417]samba3.0
将命令和系统服务的守护进程进行了分离来提高了它的安全性[/color:e755e69417]),
     这时就需要这样来启动服务了
[color=blue:e755e69417]     /usr/local/samba/sbin/smbd -D
     /usr/local/samba/sbin/nmbd -D[/color:e755e69417]
     如果希望开机时即运行samba服务,可以将服务启动的指令写道/etc/rc.d/rc.local的文件中,并在指令后边加入&,来将
程序放到后台运行.例如:
[root@linux lib]# vi /etc/rc.d/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

Touch /var/lock/subsys/local
[color=blue:e755e69417]/usr/local/samba/sbin/smbd -D &
/usr/local/samba/sbin/nmbd -D &[/color:e755e69417]


好了,一台samba服务器就这样设置完了.呵呵,不麻烦吧.

                                                                            dawei@2003.10.12

【发表回复】【查看CU论坛原帖】【添加到收藏夹】【关闭】
 零二年的夏天 回复于:2003-10-13 08:52:43
你的打印服务是怎样配置的?
效果如何?

 lostscrew 回复于:2003-10-13 09:02:27
非常感谢,支持! :D

 dawei 回复于:2003-10-13 10:05:56
欧没有用打印服务,
配置起来应该是不麻烦的.

 零二年的夏天 回复于:2003-10-13 10:13:49
不知道如何更好的控制打印。

 wind521 回复于:2003-10-13 10:14:55
不错,鼓励一下

 好好先生 回复于:2003-10-13 10:35:03
我也鼓励一下这种精神.

 mzp 回复于:2003-10-13 11:03:19
samba 3.0提供了很多优秀的东西,偶前一段实验的UNICODE也是成功的.也就是说可以在一台主机上提供多语言的支持了.
另外对AD,XP及2003的支持也有说明,很佩服啊!

http://samba.linuxforum.net/samba/whatsnew/samba-3.0.0.html

 sheeps7 回复于:2004-01-03 23:13:51
我跟你的安装一样,但ps aux时没有smbd进程,
rpm -ql samba时,说我samba 没有安装,
这是啥事?

原文转自:http://www.ltesting.net