在主要由 Windows 客户机组成的网络中,使用户只能使用有效帐户和密码进行注册通常是最好的选择。 在基于 Windows 的网络中,此任务由主域控制器 (PDC) 来处理。 您可以使用配置为 PDC 的 Windows NT 服务器,但是此任务也可以借助 Samba 服务器来完成。中显示了必须在 smb.conf 的 [global] 部分设置的项。例 24.1 “smb.conf 中的 global 部分”。
如果使用加密密码进行校验,则 Samba 服务器必须能够处理加密密码。[global] 部分中的 encrypt passwords = yes 项启用了此功能(对于 Samba 版本 3,这是默认设置)。此外,还需要以适合 Windows 的加密格式来准备用户帐户和密码。 使用命令 smbpasswd -a name 可完成此任务。使用以下命令为计算机创建 Windows 域概念要求的域帐户:
useradd hostname\$ smbpasswd -a -m hostname
使用 useradd 命令可添加一个美元符号。 命令 smbpasswd 在使用参数 -m 时自动插入此符号。 带注释的配置示例 (/usr/share/doc/packages/samba/examples/smb.conf.SUSE) 包含自动执行此任务的设置。
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
有关此主题的更多信息,请参见《Samba 3 操作指南》第 12 章,此指南可以在 /usr/share/doc/packages/samba/Samba3-HOWTO.pdf 中找到。