我已经完成 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
服务正在运行。