
Ich verwende Centos 7, um Active Directory-Benutzer lokal mit Kerberos zu authentifizieren. Ich bin dem Realm mit dem Administrator beigetreten und kann mich über ihn/damit anmelden/per SSH anmelden.nslookupfunktioniert gut und adcli-Informationenfunktioniert. Wenn ich einen anderen Benutzer namens „Test“ erstelle und versuche, mich über Centos anzumelden, erhalte ich Folgendes:
id: test: no such user
Getent-Passworttestgibt nichts zurück
Hier sind meine Konfigurationsdateien:
sssd.conf
domains = gio.server
config_file_version = 2
services = nss, pam
[domain/gio.server]
ad_domain = gio.server
krb5_realm = GIO.SERVER
realmd_tags = manages-system joined-with-samba
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
access_provider = ad
Hier ist daskrb5.conf
# Configuration snippets may be placed in this directory as well
includedir /etc/krb5.conf.d/
includedir /var/lib/sss/pubconf/krb5.include.d/
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default = GIO.SERVER
dns_lookup_realm = true
dns_lookup_kdc = true
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
rdns = false
pkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crt
# default_realm = EXAMPLE.COM
default_ccache_name = KEYRING:persistent:%{uid}
default_realm = GIO.SERVER
[realms]
GIO.SERVER = {
kdc = gio.server:88
default_domain = gio.server
# kdc = kerberos.example.com
# admin_server = kerberos.example.com
}
[domain_realm]
# .example.com = EXAMPLE.COM
# example.com = EXAMPLE.COM
.gio.server = GIO.SERVER
gio.server = GIO.SERVER
Bei der Fehlerbehebung mitsssctl BenutzerprüfungstestEs wurde der folgende Fehler zurückgegeben:
user: test
action: acct
service: system-auth
sss_getpwnam_r failed with [0].
User name lookup with [test] failed.
Unable to get user objectInfoPipe User lookup with [test] failed.
testing pam_acct_mgmt
pam_acct_mgmt: User not known to the underlying authentication module
PAM Environment:
- no env -
Wenn etwas fehlt, lassen Sie es mich bitte wissen.
Antwort1
Das zugrunde liegende Problem sind fehlende Leserechte für bestimmte Eigenschaften, die das Computerkonto für die Benutzerkonten im AD benötigt.
Wenn ein Benutzer zu Domänenadministratoren hinzugefügt wird, wird die Berechtigungsvererbung deaktiviert und bestimmte Berechtigungen werden authentifizierten Benutzern explizit gewährt. Dadurch kann der Server die erforderlichen Eigenschaften abrufen, um Administratoren zu authentifizieren, jedoch nicht normale Benutzer.
Um das Problem zu beheben, erteilen Sie authentifizierten Benutzern oder einer speziell erstellten Sicherheitsgruppe die Berechtigungen „Inhalt auflisten“, „Alle Eigenschaften lesen“ und „Berechtigungen lesen“ für die Stammdomäne, die für „Untergeordnete Benutzerobjekte“ gelten.