首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

通用线程:Samba 简介 第二部分 为您的环境编译、安装和配置 Samba-2

通用线程:Samba 简介 第二部分 为您的环境编译、安装和配置 Samba-2

安全性选项在结束 global 这一节前,有一些您可能感兴趣的安全性选项。主机的 'allow' 选项可以让您限制与 Samba 连接的 IP 地址:
1
hosts allow = 192.168.1. 127.




除 localhost 127 以外,这个选项只允许 192.168.1 网络中的机器与 Samba 连接。要确保在 hosts allow 那一行的结尾有个 127。
接口选项在机器碰巧有多个网络接口时特别有用。它可以让您指定在哪个网络接口上可以使用 Samba。其使用方法如下:
1
interfaces = eth1




这是对一些必要的接口限制 Samba 的简单办法。限制接口可以防止来自有不良意图的用户可能的侵入尝试。
测试共享我们已经配置好了 Samba 的 global 选项,现在该创建一个可以让我们访问 /tmp 目录的测试共享了。 添加以下行:
1
2
3
[tmp]
path=/tmp
writeable=yes




启动 Samba 后,这些设置将使一个名为 tmp 的共享可用。这个共享包含 Samba 服务器上 /tmp 目录的内容。另外,如果特定的用户和大多数用户在 /tmp 中有写权限一样,这个用户就可以在该目录中创建和修改文件。
现在我们已向 smb.conf 添加了所有这些项,到了验证我们的配置是否正确的时侯了。为进行验证,我们使用 testparm 实用程序:
1
$ testparm




在单击了 Enter 键后,在屏幕上列示一个包含所有配置选项的列表。这时还将注明 smb.conf 中的所有错误,并加以注释。如果有任何错误,按照屏幕上的指令来改正它们。现在我们可以开始配置 Samba 用户并启动 Samba 来进行测试运行。
创建用户为使 "myuser" 用户(口令为 "mypass" )能够使用 Samba,必须有以下要素存在:
  • 有效的 "myuser" Unix 帐户。myuser 不需要有进行登录的能力,Samba 不使用 myuser 的 Unix 口令,因此如果需要,可以设置一个虚值。如果 myuser 还使用交互方式登录到 Samba 服务器,那也没关系。
  • 在 smbpasswd 文件中有效的 "myuser" 项。smbpasswd 文件是在名为 private 的目录中找到的,该目录带有缺省 Samba 安装前缀(在本例中是 /usr/local/private)。 可以通过作为 root 用户使用 smbpasswd 命令并输入以下内容来将 myuser 添加到 smbpasswd 文件中:
1
2
3
4
# smbpasswd -a myuser
New SMB password: <enter "mypass" here>
Retype new SMB password: <enter "mypass" again>
Added user myuser.




这些步骤必须对每个新的 Samba 用户重复执行。如果您是支持 Samba 的现有 Unix 帐户,记住要将用户名和口令添加到 smbpasswd 文件。如果添加的是仅 Windows 用户,要记住除了将用户添加到 smbpasswd 文件,还需要创建一个用户名相同的有效 Unix 帐户。实际上,首先需要创建 Unix 帐户,因为除非 Unix 帐户已存在,否则 smbpasswd 不会添加用户。
两个帐户都是需要的,因为 Samba 使用 Unix 来在磁盘上设置正确的权限,而 smbpasswd 文件则用于认证的目的。 如果您要从 Windows NT 进行连接,则需要创建 Samba "administrator" 用户。
最终服务器配置我们现在几乎可以启动 Samba 以及配置客户机了。 但必须首先确保 Samba 机器可以通过名称 ping 到网络上的每台 Windows 客户机。 如果不行,需要将某些项添加到 /etc/hosts,或更新 DNS,以使 Samba 机器可以顺利找到 Windows 机器。
还有必要说明一点:Samba 在设置了 /etc/hosts 后能达到最佳工作状态,只有这样,"localhost" 名称才能映射为 127.0.0.1。机器的 FQDN 应该映射为在 LAN 上使用的主要 IP 地址。例如:
1
2
3
#/etc/hosts excerpt
127.0.0.1       localhost
192.168.1.1     mybox mybox.mydomain.com




启动 Samba到这时为止,Samba 已经过配置,可以运行了。我们将启动 Samba,然后集中说明如何正确配置 Windows 机器。要启动 Samba,以 root 输入以下命令:
1
2
# smbd
# nmbd




这将启动 Samba 的两个主要服务器进程,smbd 和 nmbd。 它们将把所有信息性的和错误消息分别记录到 /var/log/log.smb 和 /var/log/log.nmb 中。现在 Unix 方已完成了设置并正在运行,该是着眼于如何正确配置客户机的时候了。
配置客户机要配置 Windows 机器,使它可以参与到 Samba 工作组中,需要确保已正确配置了 TCP/IP 协议。还必须确保:
  • Windows 机器可以通过名称 ping 到 Unix 机器。 (在 C:\> 提示上输入 "ping myserver"。)
  • 将 Windows 机器配置为使用 WINS 服务器。 如果 Samba 提供的是 WINS 服务,这应该设置为 Samba 机器的 IP。如果不是,应该设置为有效 WINS 服务器的 IP。通常可以在 TCP/IP 设置对话框中找到这个设置。
  • Windows 机器是 YOURWORKGROUP 的一个成员。
进行测试现在该是验证的时候了。在 Windows 机器完成重新引导后,需要使用 Samba 能接受的用户名/口令来登录到 Windows 上。如果使用的是 Windows 95/98,这个用户名/口令组合就将存储在一个文件中,在稍后尝试与任何网络资源连接时使用。
如果使用的是 Windows NT Workstation,这个用户名/口令组合还必须在 NT 的本地安全性数据库中(否则就无法在最初时登录到 NT 上)。 要实现这一目的,以 administrator 登录到 NT,然后使用“用户管理器”创建帐户。然后注销,再作为新用户登录。
正确登录之后,在“网络邻居”上双击,然后查看 YOURWORKGROUP 工作组。 仔细看看。看是否列出了 Samba 服务器。双击它,然后看是否列出了 /tmp 共享。如果列出了,恭喜您!Samba 在起作用!如果没有,检查以下事项:
  • 运行 testparm。smb.conf 能使用吗?如果不能,改正问题后重新启动 Samba。
  • smbd 和 nmbd 在运行吗?如果不在,检查日志文件了解可能发生的错误,改正所有问题,然后重新启动 smbd 和 nmbd。
  • 将 Windows 客户机配置成使用合适的 WINS 服务器了吗?如果没有,在查找网络上机器的 IP 地址时就会有问题。
  • 可以从 Windows ping 到 Unix 并且反向也行吗?如果不行,就需要配置 /etc/hosts 文件或 DNS 使名称解析能正确发挥作用。
如果检查了所有这些内容而 Samba 仍不能使用,则要仔细按照 docs/textdocs 目录中 DIAGNOSIS.txt 文件里的步骤进行操作。 您应该可以在几分钟的时间内确定并改正配置或网络问题。 如果以任何方式更改了 smb.conf,则需要向 smbd 和 nmbd 发送一个 HUP 信号,强制它们重新读取 smb.conf。 这是通过以下命令做到的:
1
2
# kill -hup <pid of smbd>
# kill -hup <pid of nmbd>




也可以简单地杀死 smbd 和 nmbd,然后再次重新启动它们。
返回列表