百度首页 | 百度空间
 
查看文章
 
利用samba3.0构建samba服务器
2006-12-04 22:13

利用samba3.0构建samba服务器


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服务器就这样设置完了.呵呵,不麻烦吧.
 
 

类别:默认分类 | 添加到搜藏 | 浏览() | 评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码:
 

     

©2008 Baidu