如何正确连接 FreeIpaClient api 2.164 和 FreeIpaServer api 2.156

How to connect correctly FreeIpaClient api 2.164 with FreeIpaServer api 2.156

我正在尝试开发一个 Ansible,无论操作系统如何,它都可以安装 freeipa 客户端。我解决了很多问题,但无法解决以下问题:

ipaclient1 version --> 3.3.4 (Ubuntu 14)
ipaclient2 version --> 4.3.1 (Ubuntu 16)
ipaclient3 version --> 3.0.0 (CentOS 6)
ipaSERVER version  --> 4.2.0 (CentOS 7)

当 ipa 客户端使用 "ipa-client-install" 命令加入时,我没有问题,所有客户端都可以使用 ipa 服务器中的所有当前用户登录。问题是当我在客户端进入域后创建新用户时。客户端1和3可以用新用户正确登录,但是客户端2找不到新用户(重启后也是)。

root@dev-ipaclient2:~# su prueba3
No passwd entry for user 'prueba3'

Getent passwd 显示本地用户。如果我使用 "ipa user-find prueba3" 我得到这个:

ipa: ERROR: 2.164 client incompatible with 2.156 server at 'https://dev-ipaserver.mydomain.net/ipa/xml'

所有用户都存在这个错误,例如我可以用用户 "user1" 登录(因为这个用户在客户端 2 加入域之前就存在)但是这个命令找不到他。

/var/log/auth.log:

Jun  1 09:03:38 dev-ipaclient2 su[4378]: No passwd entry for user 'prueba3'
Jun  1 09:03:38 dev-ipaclient2 su[4378]: FAILED su for prueba3 by root
Jun  1 09:03:38 dev-ipaclient2 su[4378]: - /dev/pts/0 root:prueba3

是的,我试过了:

/sbin/initctl stop sssd
rm /var/lib/sss/db/*
/sbin/initctl start sssd

但是,如果我使用 "ipa -e skip_version_check=1 user-find prueba3":

--------------
1 user matched
--------------
User login: prueba3
First name: prueba
Last name: 3
Home directory: /home/prueba3
Login shell: /bin/sh
Email address: prueba3@mydomain.net
UID: 50007
GID: 50007
Account disabled: False
Password: True
Kerberos keys available: True
----------------------------
Number of entries returned 1
----------------------------

我知道问题出在 API 版本 Ubuntu 16 客户端 <---> CentOS 7 服务器,但我找不到解决此问题的答案。

这个 ansible 将用于很多机器,所以我需要它正常工作(client2 正确更新所有新用户)。

感谢您的帮助!

根据 su 给出的消息,它在 /etc/pam.d/su 中的 PAM 定义中似乎没有使用 pam_sss。你能检查一下吗?

与IPA版本差异无关

很抱歉之前没有回答,问题出在安装上。我尝试了两三个安装,所有安装都有相同的错误。然后,我尝试在卸载 ipa 客户端后清除所有包,在清洁机器后安装所有包,然后安装 ipa 客户端。在这种情况下,此安装完全正确。

感谢阿布拉的回答。