sssd は LDAP から loginshell を照会しません。

sssd は LDAP から loginshell を照会しません。

LDAPサーバーを構成し、ユーザーを作成しました。 ldapsearchは次の結果を提供します。

# user, People, brave-vesperia.com
dn: uid=masc,ou=People,dc=brave-vesperia,dc=com
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: masc
cn: user user
sn: user
givenName: ###
title: Dr.
telephoneNumber: #####
mobile: #####
postalAddress: #####
userPassword:: e1NTSEF9QzVQNUp5R2h4NkZzVzRuUzlCZWdlcFlwaVVFWEk0Mno=
labeledURI: #####
loginShell: /bin/bash
uidNumber: 9999
gidNumber: 9999
homeDirectory: /home/masc
description: Admin User

クライアントにsssdを設定したので、私のLDAPアカウントを使用してログインできるようになりました。しかし、私が得るシェルは/ bin / shです。

私のSSD設定は次のとおりです。

[sssd]
config_file_version = 2
services = nss, pam, sudo
domains = brave-vesperia.com

[domain/brave-vesperia.com]
cache_credentials = true
enumerate = true

id_provider = ldap
auth_provider = ldap

ldap_uri = ldap://ldap.brave-vesperia.com
ldap_search_base = dc=brave-vesperia,dc=com
ldap_id_use_start_tls = true
ldap_tls_reqcert = demand
ldap_tls_cacert = /etc/openldap/certs/ca.pem
chpass_provider = ldap
ldap_chpass_uri = ldap://ldap.brave-vesperia.com
entry_cache_timeout = 600
ldap_network_timeout = 2

ldap_schema = rfc2307bis
ldap_group_member = uniqueMember

これが出力ですgetent masc passwd

masc:*:1001:1001::/home/masc:

/bin/shシンボリックリンクではありません/bin/bash。 AlmaLinuxとUbuntuクライアントでテストしたので、クライアントとは関係がないようです。

ログを検索すると、次の行が繰り返し表示されます。

(2022-04-21  5:35:46): [be[brave-vesperia.com]] [sdap_get_map] (0x0400): Option ldap_user_shell has value loginShell

sssd_brave-vesperia.com.log:(2022-04-21  6:25:50): [be[brave-vesperia.com]] [sysdb_remove_attrs] (0x2000): Removing attribute [loginShell] from [[email protected]]

ベストアンサー1

この問題を解決しました。 LDAP 側のアクセス規則のため、loginshell 属性にアクセスできません。

おすすめ記事