Tux 知道分享是好事,第 6 部分

作者:Marcel Gagné

好的,快速回顾一下。上次,我给你们看了一个关于我们新的 ROCKGROUP 服务器的测试,其中显示了一个打印机列表,一个您不必配置的列表。那是用 smbclient -L myserver 命令完成的。

     Domain=[ROCKGROUP] OS=[Unix] Server=[Samba 2.0.7]
 
             Sharename      Type      Comment
             ---------      ----      -------
             IPC$           IPC       IPC Service (Marcel's Musical Samba Server)
             lp             Printer
             hp710c         Printer
             colour         Printer
             hplj5          Printer

现在,我让你们从另一个 Linux 客户端(服务器?)完成所有这些操作。真的很有趣,因为这个 Samba 的东西最初是用来提供 Windows 服务的。即使我让你们用 Linux 完成了这些,你们也可以使用 Windows 工作站来测试所有这些。请记住,您确实需要在 PC 上安装 Microsoft 网络客户端。如果您在现有的 Windows PC 网络上进行此操作,则很可能就是这种情况。当 Jewel 开始她的歌曲时,双击“网上邻居”图标。然后,双击“整个网络”。您应该在列表中看到您刚刚指定的工作组。如果您没有立即看到它,请不要绝望。Windows 可能需要一段时间才能注意到已将新的工作组或服务器添加到网上邻居。如果您赶时间,请重启 Windows 95 PC。说真的,我不仅仅是说说而已 <此处插入适当的笑脸>。

不过,在我们谈论打印机之前,您应该知道 Samba 中的资源被定义为“共享”,这些通常是在段落中定义了一组特定权限的目录。共享和配置部分都由方括号中的标题标识。当您查看 smb.conf 文件时,您会看到一些,例如 [global](影响整个服务器的参数)、[homes] 段落(客户端主目录:稍后详细介绍)和各种共享目录 [share_name]。

打印机定义和共享的基础知识在一个名为 [printers] 的段落(或部分)中,这很奇怪。如果您从源代码安装并采用了默认设置,则 smb.conf 应该位于 /usr/local/samba/lib 目录中。默认的 Red Hat 安装将其放在 /etc/smb.conf 中。无论如何,这就是我的样子。

     [printers]
             comment = My System Printers
             path = /var/spool/samba
             print ok = Yes
             guest ok = Yes
             browseable = No

对于此示例,请确保您像我一样设置了“print ok”和“guest ok”参数。这里的权限非常开放;任何人都可以打印到这些设备。 “path =”变量是临时假脱机目录,打印文件在打印时保存在其中。对于打印机,此处将“browseable”设置为 no,因为这不是共享。所有 /etc/printcap 打印机都将自动出现在浏览列表中。

在 Windows 中创建新打印机的正常方法是“开始”、“设置”,然后是“打印机”。然后,您双击“添加打印机”图标,然后选择网络连接的打印机。当您单击“浏览”时,您会得到“网上邻居”服务器列表,您可以导航以查找所需的打印机。

从 Linux 方面,您还可以创建连接到远程 Samba 打印机的打印队列,我们将讨论这个问题,但首先...如果您赶时间,您可以做一些更简单快捷的事情。如果您只想临时使用网络上的打印机,并且它由 Samba 服务器管理,请尝试此技巧。假设我正在使用一台名为 mynotebk 的 Linux 笔记本电脑(未配置打印机),并且我想能够将快速文本打印到名为 myserver 的服务器上的打印机。打印机名为 hplj5。从命令行,键入此命令

     smbclient //myserver/hplj5 

假设我们仍然设置了打印机,以便允许访客打印(或公共访问),在密码提示符下按回车键,您应该会看到这个

     Password:
     Domain=[ROCKGROUP] OS=[Unix] Server=[Samba 2.0.7]
     smb: > 

在提示符下,键入 print,后跟您要打印的文件名。

     print /etc/profile

完成后,您只需在 smb: > 提示符下键入 quit 即可。很酷,对吧!

那是给 不耐烦 的读者看的。下次我们将再次讨论打印,届时我们将为这些打印机创建 Linux 打印队列,但首先还有其他事情我们需要介绍。为了使 Samba 真正有用,我们将设置共享。这些共享将需要我们执行某种密码身份验证。这意味着现在是时候看看 SMB 密码加密主题了。(我不知道这是否意味着什么,但 Alanis Morisette 刚刚开始唱歌。)别担心。这不会很痛。

较新版本的 Windows 95 到 Windows 98 以及较新版本的 NT 开始使用加密密码,因此不允许连接到或来自不支持 SMB 加密的服务器。当 Windows 工作站想要验证服务器(无论是 NT 还是 Samba)时,它过去会传递明文密码。这并不能实现高强度的安全性,但在设置 Samba 服务器时,它使生活变得非常简单。情况已不再如此。这意味着您需要做出决定。您需要做出决定的原因是 Linux 密码使用的加密方法与 Windows 不同。

以下是您的选择。

解决此问题的第一个方法是回到非加密密码。如果您只谈论一两台 PC,那么这可能是可行的方法。这是通过修改 Windows 9x 注册表来完成的。这是您要做的。

  • 1. 单击“开始”按钮,选择“运行”并键入 regedit,启动注册表编辑器。

  • 2. 双击:HKEY_LOCAL_MACHINE

  • 3. 现在,向下浏览注册表结构并找到以下项:System/CurrentControlSet/Services/VxD/VNETSUP

  • 4. 现在,从菜单栏中,选择“编辑”,然后选择“新建”,再选择“DWORD 值”。

  • 5. 将此新条目从“新建值 #1”重命名为“EnablePlainTextPassword”。确保您准确键入它。大小写很重要。

  • 6. 按 Enter 键,然后双击您的新条目。您将获得一个对话框,允许您更改此新键的值。将此值设置为“1”。(不要包含引号。)

  • 7. 关闭注册表编辑器并重启。

另一种方法是让 Samba 使用加密密码。为此,请在 smb.conf 文件中查找此部分。查找这一行。

     ;  encrypt passwords = yes

前面的分号表示 smb.conf 文件中的注释。如果您从源代码构建 Samba 并使用了默认设置(因为我们喜欢从源代码构建),或者像发行版有时的情况一样,这些新密码的默认文件名为 /usr/local/samba/private/smbpasswd 或 /etc/smbpasswd。可以使用 smb.conf 文件中的另一个参数来覆盖它。

     ; smb passswd file = /etc/smbpasswd

如果您想使用其他文件,请取消注释(或添加)此行,其中包含 Samba 密码文件的适当路径。要在我的系统上为名为 guitux 的用户添加 Samba 加密密码,我将使用此命令

     /usr/local/samba/bin/smbpasswd -a guitux

系统将要求输入密码,然后要求确认该密码。这部分应该看起来很熟悉。还有一件事。再次在编辑器中打开 smb.conf 文件,并在 [global] 段落中查找以下行。

     security = user

现在,我们将添加一个共享,该共享允许用户根据其用户名(通常为 /home/user_id)访问主目录。如果您的用户位于以 /users 开头的目录结构中,请将其用作路径。添加以下段落

     [pchome]
       comment = User directories
       path = /home/%u
       public = no
       writable = yes

“%u”将在成功登录时替换为用户 ID。基本就是这样了(呼!)。通过停止 smbdnmbd 进程并重新启动它们来重置 Samba 服务器。现在,从另一个工作站,尝试这个

     smbclient //myserver/guitux -U guitux

-U 选项指定您的 Samba 用户登录名。接下来,您必须提供您的密码。这是您之前创建的 Samba 密码。

     Password: ********
     Domain=[ROCKGROUP] OS=[Unix] Server=[Samba 2.0.7]
     smb: > 

在提示符下,您应该能够键入 dir”,并查看 guitux 主目录中的文件。只是为了让您在现在到下次之间不会完全感到无聊,请键入 help 以查看您还可以做什么。最后一件事……您可以在 [homes] 部分中做同样的事情,并在那里指定路径。

当 Santana 开始摇滚我的家时,又到了那个时候。我将总结一下,给你们留下一些东西来玩,下次再回来,将整个事情提升到一个新的水平。在我们下次在这个 <夸张> 世界上最阳光的角落 </夸张> 相遇之前,请记住您妈妈说过的话,“分享是好事”。并记住 Tux 也知道这一点。

正在查找本系列以前的文章? 点击此处获取列表。

电子邮件:ljeditors@ssc.com

加载 Disqus 评论