PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Samba 3 + LDAP PDC



Seiten : [1] 2

dunervst
11.04.05, 10:53
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.

ralle2k
04.07.05, 12:54
Hab selbes Prob. Inzwischen gelöst?

gruß R2k

emba
04.07.05, 14:35
ich vermute, das problem liegt bei nsswitch

was zeigt denn auf dem pdc ein "getent passwd" ???

greez

ralle2k
04.07.05, 14:41
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.

ralle2k
04.07.05, 15:02
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.

emba
05.07.05, 12:21
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

ralle2k
05.07.05, 15:54
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

emba
05.07.05, 17:05
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

ralle2k
05.07.05, 17:12
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?

emba
06.07.05, 14:37
http://www.linuxforen.de/forums/showthread.php?t=174854

greez

ralle2k
06.07.05, 15:08
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

emba
06.07.05, 15:27
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

ralle2k
07.07.05, 21:35
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

emba
12.07.05, 08:24
wie sehen die berechtigungen auf die lib_nssldap.so aus?
hast du auch die notwendigen pakete (nss_ldap usw.) für NSS installiert?

greez

ralle2k
12.07.05, 12:48
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?

emba
12.07.05, 13:55
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

ralle2k
13.07.05, 12:17
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

emba
13.07.05, 12:50
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

ralle2k
13.07.05, 14:13
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ß

mamue
13.07.05, 15:24
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

ralle2k
13.07.05, 17:43
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.

mamue
13.07.05, 19:57
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

der2of6
13.07.05, 20:53
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 :)

Ruede
14.07.05, 00:18
...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?

der2of6
14.07.05, 18:58
ldap_bind: Invalid credentials (49)


Das schaut nach einem falschen passwort aus.

emba
15.07.05, 10:41
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

ralle2k
04.08.05, 17:51
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"?

emba
05.08.05, 09:51
wieso willst du simple auth. weglassen?
hast du ein funktionierendes sasl_backen?

greez

Ruede
07.08.05, 22:02
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... :(

ralle2k
07.08.05, 22:44
@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?