Archiv verlassen und diese Seite im Standarddesign anzeigen : Samba 3 + LDAP PDC
Hallo,
ich habe mir mal die Anleitung hier aus dem Forum für die Konfiguration eines LDAP PDC angeschuet und mit dem script von idealx verwirklicht. Alles wurde auch vom script aus sauber ausgeführt. Allerdings habe ich das Problem, das ich mich mit einem WinXP PC nicht an die Domäne anmelden kann. Windows sagt mir immer das er den Benutzer nicht finden kann, manchmal sagt er auch das der Benutzernamen oder das Kennwort falsch seinen. Ich habe mir mal einiges im Internet angeschaut. Wenn ich ein net groupmap list mache, zeigt mir Fedora 3 auch die Gruppen mit den jeweiligen SIDs an. wenn ich net user -U root mache, werden allerdings nur 2 nutzer angezeigt root und nobody. Ich hatte auch über die smbldap Befehle einen User Administrator erstellt, der hier garnicht auftaucht. Hat jemand eine Ahnung an was das liegen könnte ?
Ich bin ganz neu in LDAP und habe keine Ahnung wie ich dort selbst User anlegen kann, die auch berechtigt sind einen Domänen Login durchzuführen.
Und müssten nicht eigentlich auch die User SIDs angezeigt werden ?
Samba 3.0.11
openldap-2.2.13-2
Fedora-Core-3
Danke euch schonmal.
Hab selbes Prob. Inzwischen gelöst?
gruß R2k
ich vermute, das problem liegt bei nsswitch
was zeigt denn auf dem pdc ein "getent passwd" ???
greez
mit dem Befehl bekomme ich meine lokale passwd aufgelistet.
Ist das richtig? Sollte da nicht schon auf ldap zugegriffen werden.
Die ldap.conf nssswitch etc. habe ich eigentlich per authconfig konfiguriert.
Ich kann Sie ja nochmal anhängen wenns daran liegt.
sorry korrigiere mich.
Ich bekomme die lokale passwd + die user im ldap angezeigt. Hab mich verguckt.
Der Befehl net user -U root sagt, dass er nicht zu 127.0.0.1 connecten kann und das Passwort für root nicht ok wäre.
benutze net mal mit dem schalter "-S" und zeige diesen auf die IP deines server
geht dann die authentifikation als root ?
kannst du anonyme (NULL) sessions als guest gegen den pdc machen?
gibt es einen account mit der SID xxx-514 ???
greez
Bei mir läuft ldap und samba auf einer Maschine. Von daher sollte localhost ja eigentlich gehen. Wenn ich mit -S die IP angebe, kommt dergleiche Fehler.
Was funktioniert ist mit su zu usern werden, die nur im ldap sind.
Wie kann ich das mit den anonymen null sessions und der SID testen?
Gruß R2K
was ist der account, der für "guest account =" eingetragen wurde?
sorge dafür, dass dieser account nur im ldap steht und samba attribute hat. er muss eine group-sid der form xxx-514 haben
NULL Session:
smbclient -L -S \\\\localhost -U <gastaccountname>
passwort: enter drücken
ps: bist du 100% nach meiner anleitung (tutorial hier im forum) vorgegangen? da habe ich das problem mit dem account "nobody" erläutert
greez
Ich hab mich bei der ganzen Sache an das idealx howto gehalten.
-> http://www.idealx.org/prj/samba/smbldap-howto.fr.html
Dort mußte man nichts mit 'guest account' machen.
Deswegen leider keine Ahnung was du meinst.
Wo kann ich das prüfen?
http://www.linuxforen.de/forums/showthread.php?t=174854
greez
Danke @emba für den Link
hab jetzt aber noch nicht reingeschaut, dass mache ich demnächst. Inzwischen bin ich auch schon weitergekommen. Nachdem ich an allen verschiedenen Stellen das root-PW nochmal überprüft habe und neu gesetzt, bin ich in der Domäne drin. Das ist schon mal ziemlich geil. Mit root kann ich auch auf alle definierten Freigaben u.s.w.
Mein Problem ist jetzt das ich ausser dem root-User keine weiteren User benutzen kann, obwohl diese im ldap stehen.
Der Befehl net user -U root gibt mir jetzt auch eine andere Fehlermeldung:
nämlich: user root has SID ........, which conflicts with the domain sid .... failing operation.
Ist das der Grund dafür?
Danke
du hast ein inkonsistentes "SID-System"
dein PDC muss die selbe SID haben, wie die nutzer, gruppen, ...
wie das geht, worauf man achten sollte, habe ich schonmal beschrieben hier
-> sufu
greez
Hallo Emba,
nach Durchsicht deines Howtos (sehr schön übrigens) habe ich bei mir keine Fehler feststellen können. Ich habe das Problem mit der SID gelöst und bekomme auch keine
Fehlermeldungen mehr. Seit das mit SID ok ist bekomme ich aber mit getent passwd nur die lokalen User angezeigt. Ein net user zeigt mir die ldap user an. Komisch. Eigentlich ist das ja Sache der nsswitch.conf. die ist bei mir aber total in Ordnung.
Was kann das noch sein?
Gruß R2K
wie sehen die berechtigungen auf die lib_nssldap.so aus?
hast du auch die notwendigen pakete (nss_ldap usw.) für NSS installiert?
greez
Ich habe folgende Pakete bzgl. ldap installiert.
rpm -qa |grep ldap gibt aus:
openldap ....
openldap-devel ....
nss_ldap ....
python-ldap ....
openldap-servers ....
openldap-clients ....
fehlt da ein Paket?
Die Datei /usr/lib/libnss_ldap.so wird gelinkt auf /lib/libnss_ldap-2.3.5.so mit den Berechtigungen -rwxr-xr-x root:root
Es gibt auch noch eine /lib/libnss_ldap.so.2 die auch auf /lib/libnss_ldap-2.3.5.so gelinkt wird.
Komischerweise hatte ich als ich das SID Problem hatte mit getent passwd auch die LDAP-User gesehen. Erinnerst du dich? Das kann eigentlich nicht miteinander zu tun haben oder?
sollte nichts miteinander zu tun haben, denn ldap benötigt für getent-anfragen nur posix attribute - die SID ist ein samba-attribut
hast du ACLs im ldap?
ich vermute, es hängt evtl. mit der NSS-LDAP-konfiguration zusammen /etc/ldap.conf, sodass er die namen nicht auflösen kann bzw. in der falschen ou sucht, whatever...
greez
Ich hänge einfach mal einige Configs an. Vielleicht siehst du ja was.
Wird leider eine etwas längere Liste.
/etc/ldap.conf
host 172.16.46.129
base dc=idealx,dc=org
rootbinddn cn=Manager,dc=idealx,dc=org
nss_base_passwd ou=Users,dc=idealx,dc=org?one
nss_base_shadow ou=Users,dc=idealx,dc=org?one
nss_base_group ou=Groups,dc=idealx,dc=org?one
ssl no
tls_cacertdir /etc/openldap/cacerts
pam_password md5
/etc/openldap/slapd.conf
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/samba.schema
allow bind_v2
pidfile /var/run/slapd.pid
argsfile /var/run/slapd.args
# if no access controls are present, the default policy
# allows anyone and everyone to read anything but restricts
# updates to rootdn. (e.g., "access to * by * read")
#
# rootdn can always read and write EVERYTHING!
# users can authenticate and change their password
database bdb
suffix "dc=IDEALX,dc=ORG"
rootdn "cn=Manager,dc=IDEALX,dc=ORG"
rootpw {SSHA}GxU8k+RpdGgNBX3dg0zBCLbmPhUrMVcV
directory /var/lib/ldap
index objectClass eq,pres
index ou,cn,mail,surname,givenname eq,pres,sub
index uidNumber,gidNumber,loginShell eq,pres
index uid,memberUid eq,pres,sub
index nisMapName,nisMapEntry eq,pres,sub
loglevel 8
/etc/nsswitch.conf
passwd: files ldap
shadow: files ldap
group: files ldap
hosts: files dns
bootparams: nisplus [NOTFOUND=return] files
ethers: files
netmasks: files
networks: files
protocols: files ldap
rpc: files
services: files ldap
netgroup: files ldap
publickey: nisplus
automount: files ldap
aliases: files nisplus
/etc/pam.d/system-auth
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required /lib/security/$ISA/pam_env.so
auth sufficient /lib/security/$ISA/pam_unix.so likeauth nullok
auth sufficient /lib/security/$ISA/pam_ldap.so use_first_pass
auth required /lib/security/$ISA/pam_deny.so
account required /lib/security/$ISA/pam_unix.so broken_shadow
account sufficient /lib/security/$ISA/pam_succeed_if.so uid < 100 quiet
account [default=bad success=ok user_unknown=ignore] /lib/security/$ISA/pam_ldap.so
account required /lib/security/$ISA/pam_permit.so
password requisite /lib/security/$ISA/pam_cracklib.so retry=3
password sufficient /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow
password sufficient /lib/security/$ISA/pam_ldap.so use_authtok
password required /lib/security/$ISA/pam_deny.so
session required /lib/security/$ISA/pam_limits.so
session required /lib/security/$ISA/pam_unix.so
session optional /lib/security/$ISA/pam_ldap.so
erstens: den output überarbeiten! das schaut sich keiner an
zweitens: entweder du verwendest wirklich 1:1 die idealx config oder du hast das file noch nie angepasst
diese erste config ist für NSS essentiell
bitte schau dir meine doku (s. sticky) mal an bzgl. der NSS config
greez
hab dei Dateien angepaßt. Sollte jetzt übersichtlicher sein.
Ich verwende 1:1 die Config von idealx. Die unterscheidet sich übrigens kaum von deiner.
Gruß
Ich habe alle Beiträge kurz überflogen. getent passwd läuft also. Wie sieht denn ein samba user aus? Du hast einen loglevel von 8 in der slapd.conf, ich weiß nicht auswendig, wozu das gut sein kann, 256 wäre ein sinnvoller Wert, um die Suchfilter sehen zu können.
Hast Du mal ins samba-logfile geschaut? Kann es sein, dass samba keine Verbindung zum ldap aufbauen kann, weil Du das manager-passwort noch nicht gesetzt hast (smbpasswd -w glaube ich)?
Also: Was steht im samba-log bei gescheiterten Verbindungsversuchen und irgend etwas _muß_ da stehen?
Wie sehen die Suchfilter aus, die beim ldap ankommen, kannst Du die gewünschten Einträge mit dem gleichen Suchfilter und ldapsearch finden?
HTH,
mamue
Die Verbindung von Samba zu ldap funkt astrein. -> net user -U root gibt mir alle ldap benutzer aus. Das Problem ist die posix Sache.
Ein Verständisfrage im Allgemeinen:
Benötigt ein funktionierender samba pdc mit ldap eine funktionierende lokale posix ldap authentifizierung?
Weil: ich kann trotz der funktionierenden net Befehle nicht über windows auf freigaben (ldap users) zugreifen außer als root.
Mein ldap Server schreibt komischerweise leider gar nichts ins logfile, trotz parameter. Vielleicht ist das ein Fehler des slapd bei fc4. Weil er hatte auch noch nie geloggt.
1.: Ein Verständisfrage im Allgemeinen:
Benötigt ein funktionierender samba pdc mit ldap eine funktionierende lokale posix ldap authentifizierung?
2.: Mein ldap Server schreibt komischerweise leider gar nichts ins logfile, trotz parameter. Vielleicht ist das ein Fehler des slapd bei fc4. Weil er hatte auch noch nie geloggt.
1.: Ja, wobei der ldap-server natürlich nicht lokal sein muß.
2.: Bei log level 256 _muß_ etwas im logfile auftauchen. Überprüfe noch mal die log level Anweisung (sollte wohl in der Database section stehen). Wenn dort keine Suchfilter auftauchen, wird auch nichts gesucht. Du kannst das einfach mit ldapsearch prüfen. Auch diese schlagen sich im logfile nieder. Protokolliert slapd vielleicht bei Dir an anderer Stelle als im System-log (messages bei mir)?
Ansonsten schau noch mal in der manpage von slapd, ob ich vielleicht den falschen loglevel genannt habe (Search filter processing).
HTH,
mamue
Du könntest mal schaun, ob du unter /var/log/samba/ldap.log etwas hast.
Es kann auch sein, das das file log.ldap heißen.
Da könnte was stehen.
Ich selber bin auch genau nach anleitung vorgegangen und bei mir klappt alles so wie es soll :)
...für mein problem :(
und zwar folgendes, ich will open ldap zum laufen bringen um irgendwann man einen domänencontroller auf dieser basis laufen zu lassen.
jedoch ist mein erster schritt slapd zum laufen zu bringen bei minimalconfiguration.
hier mein problem:
testrechner:/etc/ldap# ldapadd -x -D "cn=fakeuser,dc=fakedomain,dc=fakedomain2,dc=TLD" -W -f fakeuser.ldif
Enter LDAP Password:
ldap_bind: Invalid credentials (49)
die "fakeuser.ldif" sieht so aus:
dn: dc=fakedomain,dc=fakedomain2,dc=TLD
objectclass: dcObject
objectclass: organization
o: fokeorganisation
dc: fakedomain
dn: cn=fakeuser,dc=fakedomain,dc=fakedomain2,dc=TLD
objectclass: organizationalRole
cn: fakeuser
soooo wo könnte die problematik sein?
es ist debian 3.1 und die slapd.conf wurde wohl durch die abfragen automatisch configuriert. (passwort für admin, organisationsname domain etc..)
hat irgendjemand nen tipp?
ldap_bind: Invalid credentials (49)
Das schaut nach einem falschen passwort aus.
der fakuser ist doch nicht der manager! er hat ja im DIT kein passwort, mit dem man sich am DIT authentifizieren könnte (-W) - deshalb schlägt die authentifizierung fehl
btw: dein fakuser.ldif ist auch falsch - es enthält keine POSIX/samba-attribute
du brauchst auch keinen fakeuser (bzw. dessen ldif), denn eine funktionierende smbldap-tools-installation macht das für dich
es gibt soviele tutorials zu dem thema im netz
die idealx leute haben auf ihrer seite alles haarklein dokumentiert
ich rate dir, dich nochmal mit der materie zu beschäftigen und sauber von vorn zu beginnen
sonst wird das alles zu unübersichtlich
@mamue
getent passwd läuft also
das sehe ich anders ->
Seit das mit SID ok ist bekomme ich aber mit getent passwd nur die lokalen User angezeigt
greez
Hab mich widerwilligerweise wieder an mein altes Problem gewagt. Muß ja irgendwann gelöst werden.
Wenn ich ldapsearch -W -x -D "cn=Manager,dc........" -h <IP> eingebe bekomme ich den kompletten Inhalt meiner LDAP-Struktur angezeigt. Lasse ich das -x weg (also nicht mehr simple Authentifikation) bekomme ich einen Fehler mit ldap_sasl -> user not found: no secret in database. Die PW´s in den configfiles sind alle ok und richtig. Wie setzte ich das "secret in database"?
wieso willst du simple auth. weglassen?
hast du ein funktionierendes sasl_backen?
greez
btw: dein fakuser.ldif ist auch falsch - es enthält keine POSIX/samba-attribute
du brauchst auch keinen fakeuser (bzw. dessen ldif), denn eine funktionierende smbldap-tools-installation macht das für dich
warum sagst du mir nicht einfach was ich am "DIT" (was auch immer das sein soll) machen muss um den user anlegen zu können?
es ist ja schön das smbldap-tools für mich alles macht. wenn es alles für mich macht warum kann ich dann nicht einfach "smbldap -add fakeuser" machen?
richtig weil man wieder einrichten und einstellen muss was in erster linie nicht mein ziel ist.
was bringt es mir eine software A aufzusetzten die eine andere software B kontrolliert obwohl ich user nicht weiß ob B funktioniert.
am beispiel smbldap tools kann man sehen das beispielsweise es eben nicht nach einem "apt-get install smbldap-tools" sofort funktioniert...
du empfielst mir von vorne anzufangen?
wo vorne? beim slapd? beim smbldapt-tools? bei etwas 3. das man für eins von beiden braucht aber ich nicht mitbekommen habe?
totorials sind eine schöne sache jedoch hat mir bisher keines außer das handbuch von openldap etwas gebracht(mit selbigen bin ich soweit wie oben angekommen)
umdenken von einem suse-tutorial auf debian kann ich nicht. dafür fehlt mir das know how für von den unterschieden der distributionen.
suchfunktion hatte ich genommen wie du eventuel erkennen kannst und den anderen thread habe ich eröffnet weil mich jemand angekackt hat das emin post doch nichts in dem thread zu tun hätte... ganz toll... :(
@emba
eigentlich will ich nichts weglassen. Es scheint mir nur dass die Standard LDAP Anfrage per sasl läuft und da anscheinend ein Fehler bei mir ist. Mit der -x Option (händische Anfrage) geht es ja. Wie kann ich überprüfen, ob sasl richtig läuft?
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.