在 rhel6/7 上使用 adcli 加入 Active Directory 后,id 仍无法正常工作

在 rhel6/7 上使用 adcli 加入 Active Directory 后,id 仍无法正常工作

我已经完成 winbind 连接但还没有 sssd,今天我被要求使用 adcli 和 sssd 将 EL7 盒子连接到 Windows AD 服务。

该软件是更新的最小 el7 安装,其中添加了 adcli、sssd 和一些 krb5 内容:

adcli-0.8.1-3.el7.x86_64
authconfig-6.2.8-30.el7.x86_64
krb5-libs-1.15.1-8.el7.x86_64
krb5-workstation-1.15.1-8.el7.x86_64
oddjob-0.31.5-4.el7.x86_64
oddjob-mkhomedir-0.31.5-4.el7.x86_64
python-sssdconfig-1.15.2-50.el7_4.2.noarch
samba-client-libs-4.6.2-10.el7_4.x86_64
samba-common-4.6.2-10.el7_4.noarch
samba-common-libs-4.6.2-10.el7_4.x86_64
samba-common-tools-4.6.2-10.el7_4.x86_64
samba-libs-4.6.2-10.el7_4.x86_64
sssd-1.15.2-50.el7_4.2.x86_64
sssd-ad-1.15.2-50.el7_4.2.x86_64
sssd-client-1.15.2-50.el7_4.2.x86_64
sssd-common-1.15.2-50.el7_4.2.x86_64
sssd-common-pac-1.15.2-50.el7_4.2.x86_64
sssd-dbus-1.15.2-50.el7_4.2.x86_64
sssd-ipa-1.15.2-50.el7_4.2.x86_64
sssd-krb5-1.15.2-50.el7_4.2.x86_64
sssd-krb5-common-1.15.2-50.el7_4.2.x86_64
sssd-ldap-1.15.2-50.el7_4.2.x86_64
sssd-proxy-1.15.2-50.el7_4.2.x86_64
sssd-tools-1.15.2-50.el7_4.2.x86_64

sssd.conf,如果它有帮助:

[sssd]
config_file_version = 2
services = nss, pam, ssh, sudo
domains = test.domain.com

[nss]
filter_users = root,named,avahi,haldaemon,dbus,radiusd,news,nscd,centos,ubuntu

[pam]

[ssh]

[sudo]

[domain/test.domain.com]
enumerate = true

id_provider = ad
access_provider = ad

ad_domain = test.domain.com
krb5_realm = TEST.DOMAIN.COM
cache_credentials = True
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
fallback_homedir = /home/%u

ldap_user_ssh_public_key = sshPublicKey

连接本身通过 adcli 处理:

  adcli join --host-fqdn tstel7-01.test.domain.com \
    --computer-name tstel7-01 \
    -U adjoinacct \
    test.domain.com

Keytab?Rich:

Keytab name: FILE:/etc/krb5.keytab
KVNO Principal
---- --------------------------------------------------------------------------
3 restrictedkrbhost/[email protected]
3 restrictedkrbhost/[email protected]
3 restrictedkrbhost/[email protected]
3 restrictedkrbhost/[email protected]
3 restrictedkrbhost/[email protected]
3 restrictedkrbhost/[email protected]
3 restrictedkrbhost/[email protected]
3 restrictedkrbhost/[email protected]
3 restrictedkrbhost/[email protected]
3 restrictedkrbhost/[email protected]
3 host/[email protected]
3 host/[email protected]
3 host/[email protected]
3 host/[email protected]
3 host/[email protected]
3 host/[email protected]
3 host/[email protected]
3 host/[email protected]
3 host/[email protected]
3 host/[email protected]
3 [email protected]
3 [email protected]
3 [email protected]
3 [email protected]
3 [email protected]

但是,没有骰子:

# id adjoinacct
id: adjoinacct: no such user

它甚至找不到用于加入的帐户(实际上没有)。

tshark(-plni 任何非端口 22)显示,在 id 运行期间,没有任何连接出去。

我到底错过了什么?有什么想法吗?有线索吗?我可以提供任何信息吗?这令人困惑,虽然我想放弃并执行 samba-winbind 操作,但它对于实施计划来说还不够出色——而且 sssd 解决方案的推广效果非常好,因此很快就被丢弃了。

(我也可以在 EL6 上进行测试,结果同样糟糕 :-( )

(请随意创建并添加“adcli”标签;我不能)

答案1

如果你尝试,会发生什么

id [email protected]

如果此命令有效,而上一个命令无效,则问题可能与 use_fully_qualified_names 设置有关。如果您希望能够使用短名称,并且不必担心多个域,您可以尝试输入

use_fully_qualified_names = False

在 sssd.conf 的 [domain/test.domain.com] 部分下,然后重新启动 sssd 服务。是的,man sssd.conf 说默认值为 FALSE,但我不得不明确设置它以避免类似的问题。

答案2

要获得 ID 映射和登录名来创建主目录,请使用:

authconfig --update --enablesssd --enablesssdauth --enablemkhomedir

这将修改必要的 pam 文件。

您需要安装 rpm 软件包oddjob-mkhomedir来创建主目录,否则就关闭开关--enablemkhomedir

还要确保您的sssd 服务正在运行。

相关内容