Ubuntu で sssd がグループ名ではなく SID 番号を返すのはなぜですか?

Ubuntu で sssd がグループ名ではなく SID 番号を返すのはなぜですか?

私はsssd を試してみるUbuntu 18.04 ホストで認証に krb5 を使用するつもりですが、実際のユーザー グループを表示する方法がわかりません (groups人間が判読できる名前ではなく、何らかの Windows SID が表示されます)。プライマリ グループは問題ないように見えますが (Domain Users...)、残り (補足) はすべて Sxxx 番号です。これは AD 設定か、それとも私の sssd 構成の問題でしょうか?

$ groups
Domain [email protected] [email protected] [email protected]...

sssd.conf

[nss]
   filter_groups        = root
   filter_users         = root
   reconnection_retries = 3

[pam]
   reconnection_retries = 3

[sssd]
   domains              = ad.mycorp.com
   config_file_version  = 2
   services             = nss, pam
   reconnection_retries = 3
   sbus_timeout         = 30

[domain/ad.mycorp.com]
   ad_domain            = ad.mycorp.com
   krb5_realm           = ad.mycorp.com
   realmd_tags          = manages-system joined-with-adcli
   cache_credentials    = True
   default_shell        = /bin/bash
   fallback_homedir     = /home/%d/%u

   krb5_store_password_if_offline   = True
   use_fully_qualified_names        = True

   ldap_sasl_authid     = UBU-TEST1$
   ldap_id_mapping      = True

   access_provider      = ldap
   id_provider          = ldap
   auth_provider        = krb5
   chpass_provider      = krb5

   ldap_uri             = ldaps://ad.mycorp.com
   ldap_search_base     = ou=mycorp,dc=mycorp,dc=com
   ldap_tls_cacert      = /etc/ssl/certs/ca-certificates.crt
   ldap_tls_reqcert     = allow
   dns_discovery_domain = ad.mycorp.com

   ldap_user_search_base   = ou=userid,ou=mycorp,dc=mycorp,dc=com
   ldap_group_search_base  = ou=mycorp,dc=mycorp,dc=com
   ldap_user_object_class  = user
   ldap_user_name          = sAMAccountName
   ldap_user_fullname      = displayName
   ldap_user_home_directory = unixHomeDirectory
   ldap_user_principal     = userPrincipalName
   ldap_group_object_class = group
   ldap_group_name         = sAMAccountName

   ldap_schema                = rfc2307bis
   ldap_access_order          = expire
   ldap_account_expire_policy = ad
   ldap_force_upper_case_realm = true

答え1

少し古いですが、私にとってうまくいった解決策を共有したいと思いました。

私は、sssd.conf ファイルの [domain/example.local] セクションに次の行を追加することでこの問題を解決しました。

ad_server = <domain controller name>.example.local

そして維持する

ldap_id_mapping = True

答え2

ldap_id_mapping = false

これにより、AD から POSIX 属性が取得されます。

このオプションを True に設定すると、sssd は SID から UID と GID を生成します。

答え3

sssd キャッシュをクリアしましたか? #systemctl stop sssd; rm -r /var/lib/sss/db/*; systemctl start sssd

AD に POSIX 属性が設定されていることを確認してください。ldapsearch でも確認できます。

関連情報