Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

3.4. winbind

必须配置 Samba,然后才能将 Winbind 配置为系统的身份存储。必须设置 Samba 服务器并将其用于用户帐户,或者 Samba 必须配置为使用 Active Directory 作为后端身份存储。

3.4.1. 在 authconfig GUI 中启用 Winbind

  1. 安装 samba-winbind 软件包。Samba 服务中的 Windows 集成功能需要此功能,但不默认安装。
    [root@server ~]# yum install samba-winbind
  2. 打开 authconfig UI。
    [root2server ~]# authconfig-gtk
  3. Identity & Authentication 选项卡中,在 User Account Database 下拉菜单中选择 Winbind
  4. 设置连接 Microsoft Active Directory 域控制器所需的信息。
    • winbind 域 提供要连接的 Windows 域。
      这应该为 Windows 2000 格式,如 DOMAIN
    • 安全模型 设置用于 Samba 客户端的安全模型。authconfig 支持四种安全模型:
      • ads 将 Samba 配置为充当 Active Directory Server 域中的域成员。若要在此模式下操作,必须安装 krb5-server 软件包,并且必须正确配置 Kerberos。
      • 具有 Samba 通过 Windows 主或备份域控制器(与 Windows 服务器)进行身份验证来验证用户名和密码。
      • 服务器 具有本地 Samba 服务器,方法是通过其他服务器(如 Windows 服务器)进行验证来验证用户名和密码。如果服务器身份验证尝试失败,系统会尝试使用 用户模式 进行身份验证。
      • 用户 要求客户端使用有效的用户名和密码登录。此模式支持加密的密码。
        用户名格式必须是 domain\user,如 EXAMPLE\jsmith
        注意
        当验证给定用户是否在 Windows 域中存在时,始终使用 domain\user_name 格式并转义反斜杠(\)字符。例如:
        [root@server ~]# getent passwd domain\\user DOMAIN\user:*:16777216:16777216:Name Surname:/home/DOMAIN/user:/bin/bash
        这是默认选项。
    • winbind ADS Realm 提供 Samba 服务器要加入的活动目录域。这仅用于 ads 安全模型。
    • winbind 域控制器 提供用于注册系统的域控制器的主机名或 IP 地址。
    • Template Shell 设置用于 Windows 用户帐户设置的登录 shell。
    • 允许离线登录 允许将身份验证信息存储在本地缓存中。当用户尝试在系统离线时对系统资源进行身份验证时,会引用缓存。

3.4.2. 在命令行中启用 Winbind

Windows 域具有几种不同的安全模型,域中使用的安全模型决定了本地系统的身份验证配置。对于用户和服务器安全模型,Winbind 配置仅需要域(或工作组)名称和域控制器主机名。
--winbindjoin 参数设置用于连接到 Active Directory 域的用户,-- enablelocalauthorize 设置本地授权操作来检查 /etc/passwd 文件。
运行 authconfig 命令后,加入 Active Directory 域。
[root@server ~]# authconfig --enablewinbind --enablewinbindauth --smbsecurity=user|server  --enablewinbindoffline --smbservers=ad.example.com --smbworkgroup=EXAMPLE --update --enablelocauthorize --winbindjoin=admin
[root@server ~]# net join ads
注意
用户名格式必须是 domain\user,如 EXAMPLE\jsmith
验证 Windows 域中是否存在给定用户时,始终使用 domain\user 格式并转义反斜杠(\)字符。例如:
[root@server ~]# getent passwd domain\\user DOMAIN\user:*:16777216:16777216:Name Surname:/home/DOMAIN/user:/bin/bash
对于 ads 和域安全模型,Winbind 配置允许对模板 shell 和 realm(仅限用户)进行额外的配置。例如:
[root@server ~]# authconfig --enablewinbind --enablewinbindauth --smbsecurity ads  --enablewinbindoffline --smbservers=ad.example.com --smbworkgroup=EXAMPLE --smbrealm EXAMPLE.COM --winbindtemplateshell=/bin/sh --update
还有许多其他选项可用于配置基于 Windows 的身份验证,以及 Windows 用户帐户的信息,如名称格式、是否需要使用用户名的域名以及 UID 范围。这些选项列在 authconfig 帮助中。