SUSE Linux EnterpriseŽ 中的 Samba 服务器可通过两种不同方式配置:用 YaST 或手动方式。手动配置可提供更详细的信息,但没有 YaST GUI 方便。
要配置 Samba 服务器,请启动 YaST 并选择+。 首次启动模块时,对话框将打开以提示您选择几个基本选项来管理服务器,然后在配置结束时提示您输入 Samba 根用户密码。 为了在稍后启动,对话框将显示。
Samba 服务器安装
在中选择一个现有名称或输入一个新的名称,然后单击。
在下一步中,指定服务器是否应该充当 PDC,然后单击。
稍后,可以在 对话框中使用选项卡来更改 的所有设置。
首次启动 Samba 服务器模块时,对话框紧接着对话框显示。 使用它调整您的 Samba 服务器配置。
编辑配置后,单击关闭配置。
在选项卡中,配置 Samba 服务器的启动。 若想在每次系统引导时启动服务,请选择。 要激活手动启动,请选择。 有关启动 Samba 服务器的更多信息,请参见第 36.2 节 “启动和停止 Samba”。
在此选项卡中,还可以打开防火墙中的端口。 为此应选择。 如果有多个网络接口,则请通过单击、选择接口并单击来为 Samba 服务选择网络接口。
Samba 服务器管理的备用工具是 SWAT(Samba 万维网管理工具)。 它提供了一个简单的万维网接口,可用来配置 Samba 服务器。 要使用 SWAT,请在万维网浏览器中打开 http://localhost:901 并以 root 用户身份登录。 如果没有特殊的 Samba 根帐户,则请使用系统根帐户。
![]() | 激活 SWAT |
|---|---|
Samba 服务器安装完成后,SWAT 将不激活。 要激活它,请在 YaST 中打开+、启用网络服务配置、从表中选择 ,然后单击。 | |
如果想将 Samba 用作服务器,请安装 samba。Samba 的主要配置文件是 /etc/samba/smb.conf。 可以将此文件分为两个逻辑部分。 [global] 部分包含中央和全局设置。 [share] 部分包含各个文件和打印机共享。 通过这种方式,可以在 [global] 部分中有区别地或全局地设置有关共享的详细设置,这样可以提高配置文件的结构透明性。
需要对 [global] 部分的以下参数进行调整以满足网络设置的要求,以便其他计算机能够在 Windows 环境中通过 SMB 访问 Samba 服务器。
此行将 Samba 服务器指派到工作组。 将 TUX-NET 替换为您的网络环境的适当工作组。 您的 Samba 服务器将出现在其 DNS 名称下,除非此名称已被指派给网络中的任何其他计算机。 如果 DNS 名称不可用,请使用 netbiosname=MYNAME 设置服务器名称。 有关此参数的详细信息,请参见 mansmb.conf。
此参数确定您的 Samba 服务器是否会尝试成为其工作组的 LMB(本地主浏览器)。 为了避免现有 Windows 网络受到配置错误的 Samba 服务器的任何影响,应选择非常低的值。 有关这一重要主题的详细信息,请参见文件 BROWSING.txt 和 BROWSING-Config.txt,它们位于包文档的 textdocs 子目录下。
如果网络中没有任何其他 SMB 服务器(如 Windows NT 或 2000 服务器),并且您希望 Samba 服务器保留一份本地环境中存在的所有系统的列表,请将 os level 设置为一个较高的值(例如 65)。 然后便可以选择您的 Samba 服务器作为本地网络的 LMB。
在更改此设置时,应认真考虑这样做对现有 Windows 网络环境的影响。 应该首先在一个孤立网络中或一天中的非重要时间测试这些更改。
为了将您的 Samba 服务器集成到具有活动 WINS 服务器的现有 Windows 网络中,应启用 wins server 选项并将其值设置为 WINS 服务器的 IP 地址。
如果将您的 Windows 计算机连接到单独的子网,同时又希望它们互相通讯,则需要设置一个 WINS 服务器。 要将 Samba 服务器转变为这样的 WINS 服务器,请设置选项 wins support = Yes。 确保网络中只有一个 Samba 服务器启用了此设置。 切勿在您的 smb.conf 文件中同时启用选项 wins server 和 wins support。
以下示例说明了如何使 CD-ROM 驱动器和用户目录 (homes) 对 SMB 客户机可用。
为了避免意外地使 CD-ROM 驱动器变得可用,应使用注释标记(在本例中是分号)取消这些行。 去除第一列中的分号,以便与 Samba 共享 CD-ROM 驱动器。
[cdrom] 和 comment[cdrom] 项是网络上的所有 SMB 客户机均可看到的共享的名称。 可以添加一个附加 comment 来进一步说明此共享。
path = /media/cdrompath 导出目录 /media/cdrom。
通过严格限制的默认配置,可使这种共享仅对此系统上存在的用户可用。 如果应使此共享对所有用户可用,请向配置中添加一行 guest ok = yes。 此设置为网络上的所有用户提供读权限。 建议您认真处理此参数。 在 [global] 部分使用此参数时更应如此。
[homes][home] 共享在这里特别重要。 如果用户具有 Linux 文件服务器的有效帐户和密码以及自己的主目录,则该用户可以连接到此共享。
例 36.2. 主共享
[homes] comment = Home Directories valid users = %S browseable = No read only = No create mask = 0640 directory mask = 0750
只要没有其他共享使用连接到 SMB 服务器的用户的共享名称,就会使用 [homes] 共享指令动态生成一个共享。 所生成的共享的名称就是用户名。
valid users = %S一旦成功建立连接,就会使用共享的具体名称替换 %S。 对于 [homes] 共享,用户名始终是 %S。 这样就可以将对用户的共享的访问权限严格限制在此用户。
browseable = No此设置使共享在网络环境中不可见。
read only = No默认情况下,Samba 通过 read only = Yes 参数来禁止对任何已导出共享的写访问。 要使共享可写,请设置值 read only = No,它与 writable = Yes 是等效的。
create mask = 0640那些不是基于 MS Windows NT 的系统不能理解 UNIX 权限的概念,所以它们在创建文件时不能指派权限。 参数 create mask 定义了为新创建文件指派的访问权限。 这仅适用于可写共享。 事实上,此设置意味着拥有者具有读写权限,且拥有者的主组的成员具有读权限。valid users = %S 禁止读访问,即使该组具有读权限。 要使该组能够进行读或写访问,应取消 valid users = %S 一行。
要提高安全性,可以使用密码来保护每个共享访问。 SMB 提供了 3 种可能的方式来检查权限:
严格地为一个共享指派一个密码。 任何知道此密码的用户都可以访问此共享。
这里将用户的概念引入了 SMB。 每个用户都必须使用自己的密码在服务器上注册。 注册后,服务器可以根据用户名来授予访问各个已导出共享的权限。
从客户机来看,Samba 好像是在用户级别方式下工作。 但它实际将所有密码查询传递到另一个用户级别方式下的服务器来执行鉴定。 此设置需要一个附加参数 (password server)。
共享、用户和服务器级安全性的选择适用于整个服务器。 无法既为服务器配置的某些共享提供共享级安全性,同时又为其他共享提供用户级安全性。 但是,您可以为系统上每个已配置的 IP 地址运行单独的 Samba 服务器。
有关此主题的详细信息,请参阅 Samba HOWTO 文档集。 对于一个系统上的多个服务器,应注意选项 interfaces 和 bind interfaces only。