scroob
Anmeldungsdatum: 10. Februar 2007
Beiträge: Zähle...
Wohnort: Kassel
|
Hi zusammen, habe nach dem diesem Tutorial: http://www.howtoforge.com/openldap-samba-domain-controller-ubuntu7.10 nach viel Mühe, Schweiß und Tränen einen funktionsfähigen Samba-PDC mit LDAP hinbekommen. Damit das System 100% "clean" ist, hatte ich den bei der Installation erstellten User per "deluser" gelöscht und wollte ihn jetzt neu anlegen:
smbldap-useradd -a -m -M homer -c "Homer Simpson" homer smbldap-passwd Beim ersten Loginversuch sollte ich ein neues Passwort setzen - okay, das war klar. Hat aber nicht funktioniert:
scroob@falcon:~$ ssh capoeira
scroob@capoeira's password:
You are required to change your password immediately (password aged)
Linux capoeira.spaceballcity.lan 2.6.24-19-server #1 SMP Sat Jul 12 00:40:01 UTC 2008 i686
Last login: Tue Aug 26 20:02:53 2008 from 192.168.192.21
WARNING: Your password has expired.
You must change your password now and login again!
Enter login(LDAP) password: <korrektes Passwort>
passwd: Authentication information cannot be recovered
passwd: password unchanged
Connection to capoeira closed. Mit ein bißchen Herumgespiele in der /etc/pam.d/common-password (entfernen von "use_authtok") hatte ich dann immerhin erreicht, daß das Passwort setzen funktioniert hat. Dafür sollte ich bei JEDEM Anmeldevorgang das Pw neu setzen, diesmal mit folgender Meldung:
scroob@falcon:~$ ssh capoeira
scroob@capoeira's password:
You are required to change your password immediately (password aged)
Linux capoeira.spaceballcity.lan 2.6.24-19-server #1 SMP Sat Jul 12 00:40:01 UTC 2008 i686
Last login: Tue Aug 26 20:02:03 2008 from 192.168.192.21
WARNING: Your password has expired.
You must change your password now and login again!
Enter login(LDAP) password:
New password:
Re-enter new password:
LDAP password information changed for scroob
passwd: password updated successfully
Connection to capoeira closed. Hat PAM hier nen Hau, daß es ständig denkt, mein Pw wäre abgelaufen? Kann man irgendwo eine Expiration Time einstellen? Habe dazu leider nix gefunden... Bin für Vorschläge offen - danke... 😉 Viele Grüße
Scroob Nochn bißchen Info (Falls was zur Diagnose fehlt, bitte Bescheid sagen - man könnte auch in dem Tut schauen. Habe mich - da LDAP-Laie - zu 100% daran gehalten):
# /etc/pam.d/common-password - password-related modules common to all services
password sufficient pam_unix.so nullok md5 shadow use_authtok
password sufficient pam_ldap.so use_first_pass
password required pam_deny.so
# /etc/ldap.conf (habe ich entspr. dem Tut. auch nach /etc/ldap/ldap.conf kopiert)
host 127.0.0.1
base dc=spaceballcity,dc=lan
uri ldap://127.0.0.1/
ldap_version 3
rootbinddn cn=admin,dc=spaceballcity,dc=lan
rootbindpw {SSHA}blablablablablablablablabla
bind_policy soft
pam_password md5
nss_initgroups_ignoreusers backup,bin,bind,daemon,dhcp,dovecot,games,gnats,hplip,irc,klog,libuuid,list,lp,mail,man,mysql,news,ntp,openldap,postfix,proxy,root,sshd,statd,sync,sys,syslog,uucp,www-data
# /etc/auth-client-config/profile.d/open_ldap
[open_ldap]
nss_passwd=passwd: compat ldap
nss_group=group: compat ldap
nss_shadow=shadow: compat ldap
pam_auth=auth required pam_env.so
auth sufficient pam_unix.so likeauth nullok
auth sufficient pam_ldap.so use_first_pass
auth required pam_deny.so
pam_account=account sufficient pam_unix.so
account sufficient pam_ldap.so
account required pam_deny.so
pam_password=password sufficient pam_unix.so nullok md5 shadow use_authtok
password sufficient pam_ldap.so use_first_pass
password required pam_deny.so
pam_session=session required pam_limits.so
session required pam_mkhomedir.so skel=/etc/skel/
session required pam_unix.so
session optional pam_ldap.so
|
scroob
(Themenstarter)
Anmeldungsdatum: 10. Februar 2007
Beiträge: Zähle...
Wohnort: Kassel
|
Hi nochmal, ich komm hier ums Verrecken nicht weiter. Mein gesamter (nagelneuer) Server steht gerade "still", weil die LDAP-Userverwaltung net funkt. 👿 Hat irgendwer ne Idee? VG
Scroob
|
Dalai
Anmeldungsdatum: 16. Juni 2008
Beiträge: 2316
Wohnort: Meiningen
|
Wie sieht's mit dem Anlegen anderer User aus? Was sagt /var/log/auth.log und /var/log/syslog? Was sagt pdbedit -Lv <user> ? MfG Dalai
|
scroob
(Themenstarter)
Anmeldungsdatum: 10. Februar 2007
Beiträge: Zähle...
Wohnort: Kassel
|
Hi, bei anderen Usernnamen das gleiche. Syslog hat afaik nix ausgespuckt, auth log und pdbedit checke ich gleich heute abend! Habe aufgrund einer Umportierung derzeit kein internet daheim. 😀
|
scroob
(Themenstarter)
Anmeldungsdatum: 10. Februar 2007
Beiträge: 106
Wohnort: Kassel
|
Ha! Logging hat ja doch was ausgespuckt! Konnte mich mangels Internet nur noch nicht über die Logentries informieren. root@capoeira:~# pdbedit -Lv scroob
smbldap_search_domain_info: Searching for:[(&(objectClass=sambaDomain)(sambaDomainName=SPACEBALLCITY))]
smbldap_open_connection: connection opened
smbldap_search_domain_info: Searching for:[(&(objectClass=sambaDomain)(sambaDomainName=SPACEBALLCITY))]
smbldap_open_connection: connection opened
init_sam_from_ldap: Entry found for user: scroob
Unix username: scroob
NT username: scroob
Account Flags: [U ]
User SID: S-1-5-21-4022655362-2048199285-1423995941-61000
init_group_from_ldap: Entry found for group: 513
init_group_from_ldap: Entry found for group: 513
Primary Group SID: S-1-5-21-4022655362-2048199285-1423995941-513
Full Name: scroob
Home Directory: \\capoeira\scroob
HomeDir Drive:
Logon Script:
Profile Path:
Domain: SPACEBALLCITY
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: never
Kickoff time: never
Password last set: Di, 26 Aug 2008 19:33:20 CEST
Password can change: Di, 26 Aug 2008 19:33:20 CEST
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF auth.log:
# root login
Sep 5 08:42:56 capoeira sshd[5789]: Accepted password for root from 192.168.192.37 port 50356 ssh2
Sep 5 08:42:56 capoeira sshd[5792]: pam_unix(sshd:session): session opened for user root by root(uid=0)
# scroob login
Sep 5 08:44:43 capoeira sshd[5808]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.192.37 user=scroob
Sep 5 08:44:43 capoeira sshd[5808]: pam_ldap: could not open secret file /etc/ldap.secret (No such file or directory)
Sep 5 08:44:43 capoeira sshd[5808]: pam_unix(sshd:account): expired password for user scroob (password aged)
Sep 5 08:44:43 capoeira sshd[5808]: Accepted password for scroob from 192.168.192.37 port 41171 ssh2
Sep 5 08:44:43 capoeira sshd[5811]: pam_unix(sshd:session): session opened for user scroob by (uid=0)
Sep 5 08:44:43 capoeira passwd[5812]: pam_unix(passwd:chauthtok): user "scroob" does not exist in /etc/passwd
Sep 5 08:44:43 capoeira passwd[5812]: pam_ldap: could not open secret file /etc/ldap.secret (No such file or directory)
Sep 5 08:44:51 capoeira passwd[5812]: pam_unix(passwd:chauthtok): user "scroob" does not exist in /etc/passwd
Sep 5 08:44:51 capoeira sshd[5811]: pam_unix(sshd:session): session closed for user scroob und syslog (sehr viel, aber alles nur der eine Anmeldevorgang):
http://wp.sexmitkleinengelbenhaftetiketten.de/syslog.txt Was ich mich jetzt zum Einen frage, wieso sucht der Junge in /etc/passwd, soller doch im LDAP?! Und zum Anderen, was ist mit der /etc/ldap.secret? Wer legt die normalerweise an, und warum isse bei mir net da? VG
Scroob
|
Dalai
Anmeldungsdatum: 16. Juni 2008
Beiträge: 2316
Wohnort: Meiningen
|
scroob Was ich mich jetzt zum Einen frage, wieso sucht der Junge in /etc/passwd, soller doch im LDAP?!
Entweder das ist normal (keine Ahnung) oder da stimmt was an den Einstellungen nicht. scroob Und zum Anderen, was ist mit der /etc/ldap.secret? Wer legt die normalerweise an, und warum isse bei mir net da?
In dieser Datei muss das Passwort für den LDAP-Admin stehen, damit der LDAP-Client auf den LDAP zugreifen kann. Diese Datei musst du selbst anlegen (Ergänzung: Kann auch sein, dass die beim dpkg-reconfigure slapd angelegt wird *nicht mehr genau weiß*). Ob die wirklich verwendet wird, weiß ich nicht genau. Es gibt ja noch die smbldap_bind.conf, in der ebenfalls Anmeldedaten für den LDAP hinterlegt sind, allerdings in einem anderen Format. Hast du die smbldap-tools ordentlich konfiguriert? MfG Dalai
|
scroob
(Themenstarter)
Anmeldungsdatum: 10. Februar 2007
Beiträge: 106
Wohnort: Kassel
|
Moin zusammen, habe leider immer noch kein Internet daheim (T-Com.... :roll ), daher hat alles ein bißchen gedauert. Dickes Danke für den Tip mit den Logs. Wie man deutlich erkennen kann, fehlt die ldap.secret - was auch schon der einzige Knackpunkt war. nachdem ich die pam_ldap.secret mit dem Admin-Kennwort darin einfach kopiert hatte, klappte es auch mit dem Zugriff aufs LDAP und der User-Authentifizierung. ☺ Jetzt frage ich mich: Wieso steht das nicht in dem Tut? Oder war ich blind? 😀 Inzwischen läuft alles soweit und ich bin relativ glücklich! Was LDAP angeht, muß ich noch einiges lernen. Kennt hier jemand ein gutes Beginner-Tutorial für eine, sagen wir mal, erweiterte Benutzerverwaltung? Mich interessiert vor allem: - ist es sinnvoll, alle/einige Shadow Groups auch ins LDAP aufzunehmen? - wie sinnvoll ist es, die im Tut erzeugten Samba-Groups für die Userverwaltung unter Linux herzunehmen, oder besser komplett eigene zu erstellen? - ist es egal, in welcher OU ein Objekt hängt? Würde gerne sinnig gruppieren. - Ach ja, und...: Gibt es eine andere Möglichkeit für die .secret-Dateien, als dort das pw im Klartext reinzuschreiben? Viele Grüße
Scroob
|
Dalai
Anmeldungsdatum: 16. Juni 2008
Beiträge: 2316
Wohnort: Meiningen
|
scroob Kennt hier jemand ein gutes Beginner-Tutorial für eine, sagen wir mal, erweiterte Benutzerverwaltung?
Eine (grafische) Benutzer- bzw. LDAP-Verwaltung kannst du mit phpldapadmin machen. scroob wie sinnvoll ist es, die im Tut erzeugten Samba-Groups für die Userverwaltung unter Linux herzunehmen, oder besser komplett eigene zu erstellen?
LDAP hat ja gerade den Sinn, eine zentrale Benutzerverwaltung bereitstellen zu können. Deswegen wäre es sehr sinnvoll, die im LDAP gespeicherten Nutzer für alle Clients (egal ob Linux oder Windows) zu benutzen. Für einen Linux-Client genügt ein LDAP-Client, damit er sich mit einem im LDAP gespeicherten Nutzer anmelden kann. Was dafür einzustellen ist, steht im Wiki im Artikel LDAP_Client. scroob - ist es egal, in welcher OU ein Objekt hängt? Würde gerne sinnig gruppieren.
Wie meinst du "sinnig gruppieren"? Das Samba Schema, was der LDAP benutzt, ist doch schon sinnvoll, oder siehst du das nicht so? Die Struktur kann man sich ganz gut mit phpldapadmin (im Wiki gibt's auch dazu etwas) anschauen, aber dafür brauchst du erstmal einen laufenden Webserver (vorzugsweise Apache). scroob - Ach ja, und...: Gibt es eine andere Möglichkeit für die .secret-Dateien, als dort das pw im Klartext reinzuschreiben?
Leider nein. Aber es ist ja eh nur diese eine Datei ldap.secret; OK, wenn man die smbldap_bind.conf noch dazu nimmt, wo das Passwort ebenfalls im Klartext steht, sind's dann zwei. Schütze diese Dateien einfach mit den entsprechenden Rechten (0600) und gib ihnen den Owner root, dann sollte das kein allzu großes Loch sein. Ich gebe zu, dass ich es auch für etwas unschön gelöst halte und das Passwort jeweils verschlüsselt oder wenigstens gehasht sein könnte. Aber was nicht ist, kann ja noch werden 😉. MfG Dalai
|
scroob
(Themenstarter)
Anmeldungsdatum: 10. Februar 2007
Beiträge: 106
Wohnort: Kassel
|
Hi, ich glaube, ich hab mich mißverständlich ausgedrückt. ☺ Dalai schrieb: scroob wie sinnvoll ist es, die im Tut erzeugten Samba-Groups für die Userverwaltung unter Linux herzunehmen, oder besser komplett eigene zu erstellen?
LDAP hat ja gerade den Sinn, eine zentrale Benutzerverwaltung bereitstellen zu können. Deswegen wäre es sehr sinnvoll, die im LDAP gespeicherten Nutzer für alle Clients (egal ob Linux oder Windows) zu benutzen. Für einen Linux-Client genügt ein LDAP-Client, damit er sich mit einem im LDAP gespeicherten Nutzer anmelden kann. Was dafür einzustellen ist, steht im Wiki im Artikel LDAP_Client.
Mmmh, das habe ich auch so vor. Ich habe gerade festgestellt, daß ein Punkt komplett untergegangen ist ,der hätte den hier auch besser definiert: Die Tools in dem Tutorial haben ja eine Gruppenstruktur angelegt, mit denen ein Windows-Client was anfangen kann. Ich frage mich, wie ich jetzt einen (LDAP-)User einrichte, der auf dem Linux-Server bspw. in die Gruppe "cdrom" oder "audio" soll. Wenn ich das Prinzip recht verstanden habe, müsste ich dazu alle Shadow-Gruppen ebenfalls ins LDAP aufnehmen und dort dem User zuordnen, oder? Ich hatte mal ein Tutorial gefunden, das auf die "LDAP Migration Tools" verwiesen hat, die beliebige Shadow-User/Gruppen/weißwasich nach .ldif exportiert haben. Preisfrage für mich jetzt: Kann das irgendwie mit den angelegten Samba-Gruppen durcheinander kommen? Das konnte ich den Tutorials nicht entnehmen... phpLDAPadmin hatte ich mir schon installiert - das Tool ist super! Über den Webmin kann man sich die User und Gruppen auch anschauen. Anlegen tue ich Objekte allerdings lieber per smbldap-tools, da laufe ich weniger Gefahr, ein Attribut zu übersehen. 😉 VG Scroob
|
Dalai
Anmeldungsdatum: 16. Juni 2008
Beiträge: 2316
Wohnort: Meiningen
|
scroob Ich frage mich, wie ich jetzt einen (LDAP-)User einrichte, der auf dem Linux-Server bspw. in die Gruppe "cdrom" oder "audio" soll. Wenn ich das Prinzip recht verstanden habe, müsste ich dazu alle Shadow-Gruppen ebenfalls ins LDAP aufnehmen und dort dem User zuordnen, oder?
Sorry, davon habe ich keine Ahnung. Es war bei uns bisher nicht nötig, einen LDAP-Nutzer in eine der Unix-Gruppen aufzunehmen. Wozu kann man das gebrauchen? Ich frage einfach, weil's mich interessiert und um abzuschätzen, ob wir das bei uns auch mal brauchen könnten, wenn wir die Clients auf Linux umstellen. scroob Preisfrage für mich jetzt: Kann das irgendwie mit den angelegten Samba-Gruppen durcheinander kommen?
Das weiß ich leider auch nicht. scroob Anlegen tue ich Objekte allerdings lieber per smbldap-tools, da laufe ich weniger Gefahr, ein Attribut zu übersehen. 😉
Jep, auf der Konsole ist es besser als im Webmin. Zum Anschauen ist letzterer allerdings klasse, in bestimmten Fällen sogar besser und nützlicher als phpldapadmin. Ich habe mir diverse Skripte erstellt, die Nutzer, Computer und Gruppen im LDAP anlegen. Damit laufe ich nicht Gefahr, ein Attribut zu vergessen und außerdem ist man viel schneller fertig. Ein Skript zum Neusetzen eines Passworts eines Nutzers habe ich auch. Alle Skripte sind dynamisch und benutzen den Input über Parameter bzw. Textdateien. Falls du Interesse hast, sag einfach Bescheid, dann stelle ich die mal ins NoPaste oder so. MfG Dalai
|
scroob
(Themenstarter)
Anmeldungsdatum: 10. Februar 2007
Beiträge: 106
Wohnort: Kassel
|
Danke, sehr gerne! Interessiert mich nämlich sehr, wie andere das handhaben. Theorie ist zwar wichtig für die Grundlagen, aber wenns dann an die Praxis geht, fehlen einem halt die Erfahrungswerte. ☺ Liest hier zufällig jemand mit, der seine Shadow Groups über LDAP verwaltet und kann uns sagen, wie das laufen sollte? VG
Scroob
|
Dalai
Anmeldungsdatum: 16. Juni 2008
Beiträge: 2316
Wohnort: Meiningen
|
scroob Interessiert mich nämlich sehr, wie andere das handhaben.
OK, here we go. Für je einen Nutzer, Computer und Gruppe: LDAP-Benutzer erzeugen LDAP-Gruppe erzeugen LDAP-Computer erzeugen Ich weiß, dass es vor allem beim Skript "LDAP-Benutzer erzeugen" blöd ist, das Passwort im Klartext in die Befehlszeile einzugeben. Aber erstens kann man das als root machen (und eben nicht über sudo), wo eh kein anderer Zugriff hat oder man nutzt das entsprechende Skript unten und eine Textdatei, die man durch passende Dateirechte schützt. Hinweis noch zum Skript "LDAP-Computer erzeugen": Ich habe in der Firma einen DNS-Server (Bind9) mit auf dem PDC laufen, deswegen auch die Teile des Skripts zum Hinzufügen zum Bind. Die obigen Skripte werden von folgenden Skripten benutzt, die jeweils mehrere Benutzer, Gruppen oder Computer hinzufügen. Dabei müssen die Skripte im selben Verzeichnis liegen. LDAP-Computer erzeugen (mehrere) Sorry, die Beschreibung ist hier falsch, weil ich was verwechselt hab 😳. LDAP-Gruppe erzeugen (mehrere) LDAP-Benutzer erzeugen (mehrere Beispiel-Textdateien: Computer: # Rechnername IP-Adresse
# Adressen unter 100 OHNE führende Null angeben!
DomainSuffix domain.local
rechner 192.168.0.23 Benutzer: # Benutzername Passwort Gruppe1,Gruppe2,...
user1 secret Personal,Produktion Gruppen:
# Gruppenname
# Administratoren
Bank In allen Textdateien lassen sich Kommentare mit # oder ; einleiten. Das Skript zum Ändern des Passworts habe ich jetzt mal weggelassen, weil es im Prinzip nur einen Ausschnitt des Skripts "LDAP-Benutzer hinzufügen" ist. An die Skript-Experten: Für Verbesserungsvorschläge bin ich immer offen 😉. MfG Dalai
|
scroob
(Themenstarter)
Anmeldungsdatum: 10. Februar 2007
Beiträge: 106
Wohnort: Kassel
|
hi nochmal, sorry für die verspätung und danke für die scripts! bei mir läuft soweit alles ganz gut - montag bekomme ich internet, dann kann ich endlich weitermachen mit der server-config. vg
scroob
|