我们有几个使用winbind连接到的RHEL6服务器。所有服务器都使用配置管理工具进行相同配置。但是,当使用组命令和/或sudo查询组时,服务器会产生不同的结果。然而,Getent和winbind在所有服务器上返回正确的一致结果。
user.name1和user.name2是test.group1组的成员。test.group1是test.group2组的成员
在所有服务器上运行以下命令是一致的:
# getent group test.group1
test.group1:*:16126:user.name1,user.name2
# getent group test.group2
test.group2:*:16125:user.name1,user.name2
# wbinfo --group-info test.group1
test.group1:*:16126:user.name1,user.name2
# wbinfo --group-info test.group2
test.group2:*:16125:user.name1,user.name2但是,服务器A不正确地返回:
# groups user.name2
test.group1服务器B正确返回:
# groups user.name2
test.group1
test.group2Samba配置如下所示:
winbind use default domain = true
winbind offline logon = false
winbind separator = +
winbind enum users = Yes
winbind enum groups = Yes
winbind nested groups = Yes
winbind expand groups = 10
server string = Linux Server
strict locking = no
wins server = 192.168.0.1
idmap config * : range = 10000-50000000
idmap config * : backend = rid
idmap config SENT : range = 10000-50000000
idmap config SENT : default = yes
idmap config SENT : backend = rid
idmap uid = 10000-50000000
idmap gid = 10000-50000000nsswitch.conf看起来像:
passwd: files winbind
shadow: files winbind
group: files winbind我冒昧地猜测,答案是在PAM中的某个地方,或者可能是一个winbind查找错误,有什么想法或建议可以在哪里查找呢?Winbind /服务器已重新启动,tdb文件已重新生成。这个问题也可能是间歇性的。
编辑:
最后再来看看这个问题。我已经使用SSSD而不是winbind重新构建了身份验证,同样的情况也发生了。
sssd.conf
[sssd]
config_file_version = 2
domains = sent.local
services = nss, pam
debug_level = 1
[nss]
[pam]
[domain/sent.local]
id_provider = ad
auth_provider = ad
access_provider = ad
default_shell = /bin/bash
fallback_homedir = /home/domain/%u
use_fully_qualified_names = False现在我们有了一些有趣的结果,那些从未做过域管理员的用户的结果和以前一样,直到我们预先缓存我们知道他们是成员的组,例如:
[root@test-smg1 - (11:46:40) sssd]# id test.user5
uid=1084806380(test.user5) gid=1084800513(domain users)
groups=1084800513(domain users)
[root@test-smg1 - (11:46:43) sssd]# getent group testg2
testg2:*:1084806126:test.user5,test.user4,test.user3,test.user2
[root@test-smg1 - (11:46:46) sssd]# id test.user5
uid=1084806380(test.user5) gid=1084800513(domain users)
groups=1084800513(domain users),1084806126(testg2)
[root@test-smg1 - (11:46:49) sssd]# getent group testg2-nest
testg2-nest:*:1084806125:test.user4,test.user3,test.user2,test.user5
[root@test-smg1 - (11:46:54) sssd]# id test.user5
uid=1084806380(test.user5) gid=1084800513(domain users)
groups=1084800513(domain users),1084806126(testg2),1084806125(testg2-nest)这使我认为问题可能更多地是在活动目录的方向上,这是广告的具体实现,而不是一个问题linux方面。使用户成为域管理员的成员将使其所有组正确显示。将用户从域管理员中删除将使用户处于“固定”状态。
发布于 2014-09-08 13:11:54
看起来这在我们的AD设置中是一个非常具体的问题,"Read成员资格“是为它目前正在工作的用户检查的,而对于它不工作的用户,则不检查它。添加这个权限可以解决这个问题(尽管winbind需要大量时间来处理更改)。

发布于 2014-09-19 07:38:50
我在winbind上也有同样的麻烦。
以下是我的案例的一些分析细节:
我将尝试设置SSSD来确认,这个问题与AD有关,而不是SAMBA。
https://serverfault.com/questions/579723
复制相似问题