用testparm程序测试smb.conf文件非常重要。如果testparm运行OK就会列出可装载的服务项,否则会给出出错信息。在继续之前请确保它运行OK,并且服务项都符合要求。
--------------------------------------------------------------------------------
1.6. Step 5: 启动smbd和nmbd进程
你必须选择是以后台进程方式还是从inetd里启动smbd和nmbd,注意二者只能选其一。要么把它们放到inetd.conf,然后由inetd根据需要来启动;要么从命令行或从/etc/rc.local里以后台进程方式启动。参见手册页中有关的命令行选项,特别要注意的是启动Samba的账号,通常必须是root。
以后台进程方式启动smbd和nmbd的主要优势是,对初始化连接请求的响应要更快一点,不过这并不是个太大的问题。
--------------------------------------------------------------------------------
1.6.1. Step 5a: 从inetd.conf启动
注意:如果你用NIS或NIS+来分发服务映射表的话,就会与以下方法有所不同。
找到/etc/services中所定义的端口139/tcp。如没有就把下面这行加进去:
netbios-ssn 139/tcp
类似的,还应该有如下这样的端口137/udp定义:
netbios-ns 137/udp
接着编辑/etc/inetd.conf并加入下面这两行:
netbios-ssn stream tcp nowait root /usr/local/samba/bin/smbd smbd
netbios-ns dgram udp wait root /usr/local/samba/bin/nmbd nmbd
各种UNIX版本中的/etc/inetd.conf其语法可能也不同。参考一下该文件中其它项目的格式。
注意:有些UNIX的/etc/services已经包含了诸如netbios_ns这样的项目(小心下划线)。你必须编辑/etc/services或者/etc/inetd.conf使它们一致。
注意:在很多系统上你必须使用smb.conf中的“interfaces”选项来指定系统接口的IP地址及掩码。如果你不知道网络的广播地址,请以root身份运行ifconfig。nmbd会在运行时尝试检测广播地址,但在有些系统上这样做就会失败。如有必要请参见“testing nmbd”部分获得查找方法。
!!!警告!!!多数UNIX的inetd.conf只接受大约5个命令行参数。也就是说你不应该在选项和参数间用太多空格,或者使用一个脚本并让它从inetd启动。
接着重新启动inetd,为此你只要给它发信HUP信号就可以了。如果你已安装了一个以前版本的nmbd,那还需要把它杀一下。
--------------------------------------------------------------------------------
1.6.2. Step 5b. 可选法:以后台进程启动
要以后台进程方式来启动服务器,应该创建一个如下这样的脚本,并起名为诸如startsmb。
#!/bin/sh
/usr/local/samba/bin/smbd -D
/usr/local/samba/bin/nmbd -D
然后用chmod +x startsmb这个命令使它可执行。当然你可以手工运行startsmb或者从/etc/rc.local启动。给nmbd和smbd各发一个杀进程信号就可以使它们停止运行。
注意:如果你用的是SVR4风格的init系统的话,可以改一下examples/svr4-startup这个脚本以使它适用于你的系统。
--------------------------------------------------------------------------------
1.7. Step 6: 尝试列出服务器可获得之共享项
$ smbclient -L yourhostname
用上面这个命令,就可以得到一份服务器上可获得的共享项列表,不然的话就是设置上出了什么问题。注意,这个方法也可以用于查看其它LanManager客户端(如WfWg)可获得的共享信息。
如果选用了用户级安全,则Samba会在列出共享列表前要求你输入口令。详情请参见smbclient的手册页。(你可以在命令行上加入选项-U%来强迫它列出共享列表,但对于非Samba服务器就不能这么做了。)
--------------------------------------------------------------------------------
1.8. Step 7: 尝试从UNIX客户端建立连接
$ smbclient //yourhostname/aservice
命令中的yourhostname应该是安装了smbd程序的主机名。而aservice就是在smb.conf文件中定义了的服务项。如果在smb.conf中定义了[homes]段的话可以试着用你的用户名来连接。例如,如果你的UNIX主机是bambi,而你的用户名是fred的话,该命令就应该是:
$ smbclient //bambi/fred
--------------------------------------------------------------------------------
1.9. Step 8: 尝试从DOS、WfWg、Win9x、WinNT、Win2k、OS/2及其它客户端建立连接
要装载磁盘的话:
C:\WINDOWS\> net use d: \\servername\service
要打印的话:
C:\WINDOWS\> net use lpt1: \\servername\spoolservice
C:\WINDOWS\> print filename
至此,你已经安装成功,否则请向我汇报bug!
--------------------------------------------------------------------------------
1.10. 如不工作咋办?
如果你万事不顺并开始考虑“是谁写了这一大堆的垃圾”的话,我建议你再做一次step 2(或多次),直到你平静下来。
然后你可以去读一下DIAGNOSIS.txt和FAQ。如果还是卡住的话请试一下邮件列表和新闻组(详情参见README)。Samba已经在世界上数千个站点成功安装,所以可能已经有人已经遇到并解决了你的问题。你还可以到WWW站点去查一下Samba-digest发布的消息。
当你修正了什么问题,请给我发回更新的文档或源代码,以方便后来人。
--------------------------------------------------------------------------------
1.10.1. 诊断问题
如果你有安装方面的问题请参考DIAGNOSIS.txt,看看能否找到该问题。
--------------------------------------------------------------------------------
1.10.2. 范围ID
缺省情况下Samba会用一个空的范围ID。这样的话,所有的windows机器也必须有一个空范围ID。如果你真想用非空的范围ID,就需要在nmbd、smbd和smbclient命令中使用-i
--------------------------------------------------------------------------------
1.10.3. 选择协议级别
SMB协议有很多别名,现在Samba支持5种,它们分别是
- ·最新腾讯QQ 2004II珊瑚虫集成版
- ·[图文]腾讯QQ 2004II 珊瑚虫版 v2.41下载
- ·腾讯QQ 2004II 珊瑚虫版 v2.41
- ·[组图]QQ 2004 Beta2新版火热评测
- ·[组图]恭贺新春—QQ 2005贺岁版闪亮登场
- ·[组图]QQ 2005最新应用小技巧
- ·[组图]QQ宠物 2005Beta1 的新内容
- ·Win 2003无法运行珊瑚虫QQ解决方法
- ·SQL Server 2000的数据转换服务(上)
- ·SQL Server 2000的数据转换服务(中)
- ·SQL Server 2000的数据转换服务(下)
- ·SQL SERVER 2000 SP2 12命令的溢出攻击实现
网友评论:
- · Linux Serial Programming HOWTO (2)
- · 自己动手制作Knoppix中文版
- · Samba HOWTO (4)
- · Samba HOWTO (3)
- · Vim 中文文档
- · Samba HOWTO (2)
- · Debian APT HOWTO(三)
- · Cosixlinux3.1[发行版]
- · LINUX 常见问题1000个详细解答 (1)
- · CRUX Linux
- · 用硬盘安装Yoper linux
- · Debian APT HOWTO(一)
- · Samba HOWTO (1)
- · Linux Serial Programming HOWTO (1)
- · 详解Linux 2.6内核新变化

投稿指南


