28.5. 将 Samba 用作登录服务器

在主要由 Windows 客户机组成的网络中,使用户只能使用有效帐户和口令进行注册通常是最好的选择。在基于 Windows 的网络中,此任务是由充当主域控制器 (PDC) 的 Windows NT 服务器处理的,但是此操作也可以在 Samba 服务器的帮助下完成。例 28.3 “smb.conf 中的 global 部分”中显示了必须在 smb.conf[global] 部分设置的项。

例 28.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 域概念要求的域帐户:

例 28.4. 设置计算机帐户

       useradd hostname\$
       smbpasswd -a -m hostname

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

例 28.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 章。