masa069
22.07.08, 14:44
Hallo,
nach zahlreichen, äusserst lehrreichen Hirnblutungen habe ich meinen LDAP-Server wohl fast soweit mir zu Willen zu sein.
Ziel ist (erstmal) die Anmeldung über ssh. Leider liefert mir "getent passwd" nur meine lokalen user zurück, nicht den Testuser, den ich im LDAP angelegt habe.
Die Migrationtools habe ich erfolgreich durchlaufen lassen, ldapsearch gibt mir auch die Daten aus.
Beim Anlegen eines testusers in ldap bin ich folgendermaßen vorgegangen:
Nach der erfolgreichen Migration habe ich mir gedacht, dass es ja funktionieren sollte einfach einen Useraccount aus dem erstellten passwd.ldif file in eine neue ldif zu kopieren, entsprechend anzupassen und mit ldapadd hinzu zufügen. Dabei bin ich auf folgendes Phänomen gestossen:
dn: uid=user,ou=People,dc=ldap,dc=local
uid: user
cn:: dXNlcg==
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword: {crypt}$1$qU30rrEV$oYrDoO1B2fB.RjCYvrPtk/
shadowLastChange: 14081
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1000
gidNumber: 1000
homeDirectory: /home/user
gecos: user,,,
cn:: dXNlcg== <---- warum/wie ist das veschlüsselt? Wie kann ich einen solchen Schlüssel erzeugen? Ist das notwendig?
Mit Apache Directory Studio, welches ich als LDAP Browser benutze, bekomme ich diese Einträge unverschlüsselt angezeigt, d.h. in diesem Fall dann halt "cn: user" - genau so ist es mit ldapsearch.
Ich habe dann den Versuch unternommen, diesen Eintrag im Klartext vorzunehmen und dann per ldif in die Datenbank zu schreiben:
dn: uid=ldaptester,ou=People,dc=ldap,dc=local
uid: ldaptester
cn: ldaptester
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword: {crypt}$1$qU30rrEV$oYrDoO1B2fB.RjCYvrPtk/
shadowLastChange: 14081
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1234
gidNumber: 1234
homeDirectory: /home/ldaptester
gecos: ldaptester,,,
Wie gesagt zeigt mir getent passwd diesen User nicht an. Liegt das an dieser Verschlüsselung? Oder ist doch noch etwas mit den folgenden configs nicht in Ordnung?
/etc/nsswitch.conf:
passwd: files ldap
group: files ldap
shadow: files ldap
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
/etc/pam.d/common-account
account sufficient pam_ldap.so
account required pam_unix.so use_first_pass
/etc/pam.d/common-auth
auth sufficient pam_ldap.so
auth required pam_unix.so nullok_secure use_first_pass
/etc/pam.d/common-password
password sufficient pam_ldap.so
password required pam_unix.so use_first_pass
/etc/pam.d/common-session
session sufficient pam_ldap.so
session required pam_unix.so use_first_pass
session required pam_mkhomedir.so skel=/etc/skel umask=0022
/etc/ldap/ldap.conf (gelinkt zu /etc/pam_ldap.conf u. /usr/share/libpam-ldap/ldap.conf)
HOST 127.0.0.1
BASE dc=ldap,dc=local
nss_base_passwd ou=People,dc=ldap,dc=local
nss_base_shadow ou=People,dc=ldap,dc=local
nss_base_group ou=Group,dc=ldap,dc=local
bind_policy soft
Tja, bis hierhin hab ich mich alleine durchgebissen, aber trotz zahlreicher Stunden mit Google und dem Lesen dutzender Threads hier bin ich jetzt an einem Punkt wo ich glaube ich alleine nicht weiterkomme...
Bin also für jede Hilfe dankbar! :-)
EDIT:
Ich hätte wohl noch erwähnen sollen, das die Anmeldung per ssh mit den migrierten Usern wunderbar klappt, nur mit neuem (reinen LDAP) -user gehts noch nicht...
Zumindest schliesse ich das aus der Ausgabe in /var/log/auth.log:
Jul 22 14:57:04 ldap sshd[2135]: Accepted password for root from 192.168.1.10 port 2870 ssh2
Jul 22 14:57:21 ldap sshd[2144]: Accepted password for root from 192.168.1.10 port 2872 ssh2
Jul 22 14:57:52 ldap sshd[2152]: Invalid user ldaptester from 192.168.1.11
Jul 22 14:57:52 ldap sshd[2152]: Failed none for invalid user ldaptester from 192.168.1.11 port 4582 ssh2
nach zahlreichen, äusserst lehrreichen Hirnblutungen habe ich meinen LDAP-Server wohl fast soweit mir zu Willen zu sein.
Ziel ist (erstmal) die Anmeldung über ssh. Leider liefert mir "getent passwd" nur meine lokalen user zurück, nicht den Testuser, den ich im LDAP angelegt habe.
Die Migrationtools habe ich erfolgreich durchlaufen lassen, ldapsearch gibt mir auch die Daten aus.
Beim Anlegen eines testusers in ldap bin ich folgendermaßen vorgegangen:
Nach der erfolgreichen Migration habe ich mir gedacht, dass es ja funktionieren sollte einfach einen Useraccount aus dem erstellten passwd.ldif file in eine neue ldif zu kopieren, entsprechend anzupassen und mit ldapadd hinzu zufügen. Dabei bin ich auf folgendes Phänomen gestossen:
dn: uid=user,ou=People,dc=ldap,dc=local
uid: user
cn:: dXNlcg==
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword: {crypt}$1$qU30rrEV$oYrDoO1B2fB.RjCYvrPtk/
shadowLastChange: 14081
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1000
gidNumber: 1000
homeDirectory: /home/user
gecos: user,,,
cn:: dXNlcg== <---- warum/wie ist das veschlüsselt? Wie kann ich einen solchen Schlüssel erzeugen? Ist das notwendig?
Mit Apache Directory Studio, welches ich als LDAP Browser benutze, bekomme ich diese Einträge unverschlüsselt angezeigt, d.h. in diesem Fall dann halt "cn: user" - genau so ist es mit ldapsearch.
Ich habe dann den Versuch unternommen, diesen Eintrag im Klartext vorzunehmen und dann per ldif in die Datenbank zu schreiben:
dn: uid=ldaptester,ou=People,dc=ldap,dc=local
uid: ldaptester
cn: ldaptester
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword: {crypt}$1$qU30rrEV$oYrDoO1B2fB.RjCYvrPtk/
shadowLastChange: 14081
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1234
gidNumber: 1234
homeDirectory: /home/ldaptester
gecos: ldaptester,,,
Wie gesagt zeigt mir getent passwd diesen User nicht an. Liegt das an dieser Verschlüsselung? Oder ist doch noch etwas mit den folgenden configs nicht in Ordnung?
/etc/nsswitch.conf:
passwd: files ldap
group: files ldap
shadow: files ldap
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
/etc/pam.d/common-account
account sufficient pam_ldap.so
account required pam_unix.so use_first_pass
/etc/pam.d/common-auth
auth sufficient pam_ldap.so
auth required pam_unix.so nullok_secure use_first_pass
/etc/pam.d/common-password
password sufficient pam_ldap.so
password required pam_unix.so use_first_pass
/etc/pam.d/common-session
session sufficient pam_ldap.so
session required pam_unix.so use_first_pass
session required pam_mkhomedir.so skel=/etc/skel umask=0022
/etc/ldap/ldap.conf (gelinkt zu /etc/pam_ldap.conf u. /usr/share/libpam-ldap/ldap.conf)
HOST 127.0.0.1
BASE dc=ldap,dc=local
nss_base_passwd ou=People,dc=ldap,dc=local
nss_base_shadow ou=People,dc=ldap,dc=local
nss_base_group ou=Group,dc=ldap,dc=local
bind_policy soft
Tja, bis hierhin hab ich mich alleine durchgebissen, aber trotz zahlreicher Stunden mit Google und dem Lesen dutzender Threads hier bin ich jetzt an einem Punkt wo ich glaube ich alleine nicht weiterkomme...
Bin also für jede Hilfe dankbar! :-)
EDIT:
Ich hätte wohl noch erwähnen sollen, das die Anmeldung per ssh mit den migrierten Usern wunderbar klappt, nur mit neuem (reinen LDAP) -user gehts noch nicht...
Zumindest schliesse ich das aus der Ausgabe in /var/log/auth.log:
Jul 22 14:57:04 ldap sshd[2135]: Accepted password for root from 192.168.1.10 port 2870 ssh2
Jul 22 14:57:21 ldap sshd[2144]: Accepted password for root from 192.168.1.10 port 2872 ssh2
Jul 22 14:57:52 ldap sshd[2152]: Invalid user ldaptester from 192.168.1.11
Jul 22 14:57:52 ldap sshd[2152]: Failed none for invalid user ldaptester from 192.168.1.11 port 4582 ssh2