PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : debian lenny: libnss-ldap und Hänger bei AD-Integration



L00NIX
01.02.09, 10:19
Hallo zusammen.

Ich habe mehrere Linuxrechner, die seine Anmeldeinformationen von einer W2k3 Domäne beziehen.

Das funktioniert mit debian "etch" auch noch wunderbar. Benutzt man die gleiche Konfiguration bei debian "lenny", funktioniert es nicht mehr ganz.

Hier die Konfigurationsdateien, wahrscheinlich aber nicht relevant für das Problem:


# /etc/nsswitch.conf
passwd: compat ldap
group: compat ldap
shadow: compat ldap

hosts: files dns
networks: files

protocols: db files
services: db files
ethers: db files
rpc: db files

netgroup: files

automount: ldap files




# /etc/libnss-ldap.conf
@(#)$Id: ldap.conf,v 2.47 2006/05/15 08:13:44 lukeh Exp $
base dc=example,dc=net
ldap_version 3
binddn cn=explorer,dc=example,dc=net
bindpw geheim
nss_base_passwd ou=Intern,dc=example,dc=net?sub
nss_base_shadow ou=Intern,dc=example,dc=net?sub
nss_base_group ou=Intern,dc=example,dc=net?sub
nss_map_objectclass posixAccount user
nss_map_objectclass shadowAccount user
nss_map_attribute uid sAMAccountName
nss_map_attribute homeDirectory unixHomeDirectory
nss_map_attribute shadowLastChange pwdLastSet
nss_map_objectclass posixGroup group
nss_map_attribute uniqueMember member
pam_login_attribute sAMAccountName
pam_filter objectclass=User
pam_password ad
nss_map_attribute gecos name
nss_map_attribute cn sAMAccountName
nss_initgroups_ignoreusers root




# /etc/pam.d/common-account
account sufficient pam_ldap.so
account required pam_unix.so

# /etc/pam.d/common-auth
auth sufficient pam_krb5.so ccache=/tmp/krb5cc_%u debug
auth required pam_unix.so nullok_secure try_first_pass


Das Problem äußert sich wie folgt:

Meldet man sich am System z.B. via SSH an, wird folgendes nach /var/log/auth.log geloggt:


Feb 1 08:54:52 rechnername sshd[5137]: (pam_krb5): username: pam_sm_authenticate: exit (success)
Feb 1 08:54:52 rechnername sshd[5137]: Accepted password for username from 192.168.1.42 port 3208 ssh2
Feb 1 08:54:52 rechnername sshd[5137]: (pam_krb5): username: pam_sm_setcred: entry (0x2)
Feb 1 08:54:52 rechnername sshd[5137]: (pam_krb5): username: initializing ticket cache /tmp/krb5cc_543
Feb 1 08:54:52 rechnername sshd[5137]: (pam_krb5): username: pam_sm_setcred: exit (success)
Feb 1 08:54:52 rechnername sshd[5137]: pam_unix(sshd:session): session opened for user username by (uid=0)
Feb 1 08:54:52 rechnername sshd[5144]: nss_ldap: reconnecting to LDAP server...
Feb 1 08:54:52 rechnername sshd[5144]: nss_ldap: reconnected to LDAP server ldap://example.net/ after 1 attempt
Feb 1 08:54:52 rechnername sshd[5144]: nss_ldap: reconnecting to LDAP server...
Feb 1 08:54:52 rechnername sshd[5144]: nss_ldap: reconnected to LDAP server ldap://example.net/ after 1 attempt
Feb 1 08:56:11 rechnername sshd[5144]: nss_ldap: could not get LDAP result - Can't contact LDAP server


Irgendwie hat es mit der Gruppenauflösung via LDAP zu tun. Wenn ich mit getent group mir die Gruppen hole (was auch funktioniert!), dann in an die lokale /etc/group anfüge und ldap für group aus der nsswitch.conf nehme, funktioniert alles.

Für mich riecht das verdächtig nach Bug, aber welches Modul betrifft das und was wurde daran seit etch verändert?

Irgendwelche Ideen oder doch irgendeinen Konfigurationsfehler entdeckt, der vorher vielleicht ignoriert wurde?

NACHTRAG:
Reproduzieren kann man den Hänger mit id -G username, su - username und wie bereits oben geschrieben einer SSH-Sitzung, scheint also genereller Natur zu sein. Das Problem tritt nicht auf bei getent group.

Gruß
L00NIX

MiGo
01.02.09, 17:56
Feb 1 08:54:52 rechnername sshd[5144]: nss_ldap: reconnecting to LDAP server...
Feb 1 08:54:52 rechnername sshd[5144]: nss_ldap: reconnected to LDAP server ldap://example.net/ after 1 attempt
Feb 1 08:54:52 rechnername sshd[5144]: nss_ldap: reconnecting to LDAP server...
Feb 1 08:54:52 rechnername sshd[5144]: nss_ldap: reconnected to LDAP server ldap://example.net/ after 1 attempt
Feb 1 08:56:11 rechnername sshd[5144]: nss_ldap: could not get LDAP result - Can't contact LDAP server
Und dein ActiveDirectory-Server heisst "example.net"?

L00NIX
01.02.09, 18:27
Und dein ActiveDirectory-Server heisst "example.net"?

Natürlich.... NICHT! ;)

Nein, ich habe Namen und IPs "anonymisiert". Das es mit example.{net,com,org} nicht geht, ist mir klar.

Aber hier im Forum kann man ja nie wissen, deswegen verstehe ich deine Frage. :D

MiGo
03.02.09, 17:15
Aber hier im Forum kann man ja nie wissen, deswegen verstehe ich deine Frage.
ich fragte nur deswegen so doof, weil du es cleverererweise auf die Installationsdefaults zurückanonymisiert hattest - da ists schwer zu wissen, ob's anonym oder einfach unverändert ist :D

Ist das Rechnerkonto korrekt angelegt und hast du ein passendes keytab-File erzeugt? ich könnte mir vorstellen, dass bei der einen Methode mit den Credentials aus der nss-ldap und bei der anderen per Kerberos authentifiziert wird...
Zumindest erinnere ich mich dunkel, mal ein ähnliches Problem gehabt zu haben. Geht's eventuell, wenn du dir per kinit erstmal ein TGT geben lässt?

L00NIX
03.02.09, 20:39
Hmmm... ich denke nicht, dass es an der Kerberos Authentifizierung liegt.

Wenn ich mich via SSH am System anmelde, kommt ja ein


pam_unix(sshd:session): session opened for user root by username(uid=1000)


Aber es kommt kein Prompt.

Und vor dem Update etch->lenny tut ja alles.

Aus den Config-Dateien habe ich das ### DEBCONF ### entfernt, damit da nix überschrieben wird.

Also wenn ich dieses Bug nicht wegbekomme, wird das nix mit Valentinstag. ;)

Gruß
L00NIX