利用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
# w
ant 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