在 Solaris 上我得到了很好的 id 映射..在 linux 上却没有,为什么?

在 Solaris 上我得到了很好的 id 映射..在 linux 上却没有,为什么?

我使用 Active Directory 服务器进行身份验证,Solaris 按照此工作正常如何

一切正常,我的用户“user1”在 Windows AD 上获得了分配的正确 UID,即 10000。

在linux上我遵循这个如何我可以加入 AD..user 可以工作,但是..id 完全不同,不是 10000 而是“uid=744201108”,如何在 linux 上获取正确的 uid?这是我的SSD

[sssd]
domains = server.example
config_file_version = 2
services = nss, pam

[domain/server.example]
ad_domain = server.example
krb5_realm = SERVER.EXAMPLE
realmd_tags = manages-system joined-with-adcli 
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = false
fallback_homedir = /home/%u@%d
access_provider = ad

# needed to use correct active directory properties (Windows Server 2003)
ldap_schema = ad
ldap_user_object_class = person
ldap_user_name = msSFU30Name
ldap_user_uid_number = msSFU30UidNumber
ldap_user_gid_number = msSFU30GidNumber
ldap_user_home_directory = msSFU30HomeDirectory
ldap_user_shell = msSFU30LoginShell
ldap_user_gecos = displayName
ldap_group_object_class = group
ldap_group_name = msSFU30Name
ldap_group_gid_number = msSFU30GidNumber

# id 
ldap_idmap_autorid_compat = true

答案1

SSSD 文档对此进行一些详细介绍。本质上,默认情况下,当 SSSD 用于加入新域时,它会分配一个设计为该域唯一的 UID 块,覆盖 AD 可能已分配的任何 UID 块。这允许使用多个域,并确保来自所有域的用户获得唯一的 UID。

这部分我认为这些文档可以为您提供所需的信息。 (基本上,设置ldap_id_mapping = False,重新启动SSSD并清除缓存)

答案2

替代解决方案,使用此 sssd.conf 效果完美,基于Solaris的ldapclient设置。

[sssd]
domains = server.example
config_file_version = 2
services = nss, pam

[domain/server.example]
ad_domain = server.example
krb5_realm = SERVER.EXAMPLE
realmd_tags = manages-system joined-with-adcli 
cache_credentials = True
krb5_store_password_if_offline = True
default_shell = /bin/bash
use_fully_qualified_names = False
fallback_homedir = /home/%u@%d
min_id = 10000
max_id = 20000
override_homedir = /home/%u
access_provider = ldap
id_provider = ldap
auth_provider = krb5
chpass_provider = krb5
ldap_uri = ldap://windowserver.example.domain
ldap_search_base = dc=server,dc=example
ldap_default_bind_dn = cn=proxyldap,cn=Users,dc=server,dc=example
ldap_default_authtok_type = password
ldap_default_authtok = *********YOURPASSHERE*****
ldap_id_use_start_tls = False
ldap_tls_cacertdir = /etc/openldap/cacerts
ldap_schema = rfc2307bis
ldap_user_principal = userPrincipalName
ldap_user_fullname = displayName
ldap_user_name = sAMAccountName
ldap_user_object_class = user
ldap_user_home_directory = unixHomeDirectory
ldap_user_shell = msSFU30LoginShell
ldap_group_object_class = group
ldap_force_upper_case_realm = true
ldap_group_uuid = objectGUID
ldap_user_uuid = objectGUID
ldap_user_gid_number = gidNumber
ldap_user_uid_number = uidNumber

相关内容