我使用 winbind 将一台 RedHat 7 机器添加到 AD。
[root@redhat7 ~]# net ads info
LDAP server: <ldap_server_ip>
LDAP server name: <ldapservername>.<domain>.com
Realm: <DOMAIN>
Bind Path: dc=dc,dc=DOMAIN,dc=COM
LDAP port: 389
Server time: Wed, 25 Dec 2019 15:13:56 +03
KDC server: <kdc_ip>
Server time offset: 0
Last machine account password change: Wed, 25 Dec 2019 10:17:39 +03
[root@redhat7 ~]# net ads testjoin
Join is OK.
[root@redhat7 ~]# wbinfo -u
user1
user2
...
但是当我尝试“id user1”命令时:
[root@redhat7 ~]# id user1
id: user1: no such user
为什么我看不到用户信息?如何解决该问题?由于这个问题,我也无法登录服务器。
编辑:wbinfo 输出:
# wbinfo -S S-1-5-21-......-....-... (myuser sid)
failed to call wbcSidToUid: WBC_ERR_DOMAIN_NOT_FOUND
Could not convert sid S-1-5-21-.....-.....-...... to uid
答案1
让我猜一下,您在使用 winbind 的同时,也在使用 sssd。如果是这样,您还应该知道您不能将 sssd 与 Samba >= 4.8.0 一起使用。如果这是 Debian,我建议安装“libnss-winbind libpam-winbind libpam-krb5”,但由于这是 Red Hat,不确定,但我认为他们称之为“winbind-clients”
如果你发布了 smb.conf 的 [global] 部分,可能会有所帮助
答案2
映射无法正常工作。我们应该使用以下命令删除 trivia db 和映射文件:
#service winbind stop
#service smb stop
#net cache flush
#rm -f /var/lib/samba/*.tdb
#rm -f /var/lib/samba/group_mapping.ldb
#systemctl start winbind
#systemctl start smb
这是我的 smb.conf,idmap 行:
idmap config * : backend = tdb
idmap config * : range = 10000 - 20000
此后,winbind 将可以从 Active Directory 中检查 id。