48.2. 将 Samba 用作登录服务器

在主要由 Windows 客户机组成的网络中,使用户只能使用有效帐户和口令进行注册通常是最好的选择。借助 Samba 服务器可以实现这一点。在基于 Windows 的网络中,此任务由被配置为主域控制器 (PDC) 的 Windows NT 服务器来处理。例 48.3 “smb.conf 中的 global 部分” 中显示了必须在 smb.conf[global] 部分设置的项。

例 48.3. smb.conf 中的 global 部分

[global]
  workgroup = TUX-NET
  domain logons = Yes
  domain master = Yes

如果将已加密口令用于校验目的(这是保持完好的 MS Windows 9x 安装、MS Windows NT 4.0 Service Pack 3 和所有以后版本产品的默认设置),则 Samba 服务器必须能够处理它们。[global] 部分中的 encrypt passwords = yes 项启用了此功能(对于 Samba 版本 3,这是默认设置)。此外,还需要以适合 Windows 的加密格式来准备用户帐户和口令。使用命令 smbpasswd -a name 可完成此任务。使用以下命令为计算机创建 Windows NT 域概念要求的域帐户:

例 48.4. 设置计算机帐户

useradd hostname\$
smbpasswd -a -m hostname

使用 useradd 命令可添加一个美元符号。命令 smbpasswd 在使用参数 -m 时自动插入此符号。带注释的配置示例 (/usr/share/doc/packages/Samba/examples/smb.conf.SuSE) 包含自动执行此任务的设置。

例 48.5. 计算机帐户的自动设置

add machine script = /usr/sbin/useradd -g nogroup -c "NT Machine Account" \
-s /bin/false %m\$

为了确保 Samba 可以正确执行此脚本,应选择具有所需管理员权限的 Samba 用户。为此,请选择一个用户并将其添加到 ntadmin 组。然后可以使用以下命令来为属于此 Linux 组的所有用户指派 Domain Admin 状态:

net groupmap add ntgroup="Domain Admins" unixgroup=ntadmin 

有关此主题的详细信息,请参见位于 /usr/share/doc/packages/samba/Samba-HOWTO-Collection.pdf 的 Samba HOWTO 文档集的第 12 章。