PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Samba und LDAP



DaQuark
25.06.04, 14:20
Hallo Leute,

ich habe folgende Situation. Ich habe zuerst OpenLDAP und dann Samba 3.04 installiert. Bei Samba habe ich folgende Parameter angegeben :

./configure --with-ssl --with-pam --with-ldap --with-ldapsam

trotzdem habe ich das Gefühl, dass mein Samba kein OpenLDAP versteht ...

Immer wenn ich

testparm /usr/local/samba/lib/smb.conf

ausführe, erhalte ich folgende Fehlermeldung :


Load smb config files from /usr/local/samba/lib/smb.conf
Unknown parameter encountered: "passdb backend"
Ignoring unknown parameter "passdb backend"
Unknown parameter encountered: "ldap server"
Ignoring unknown parameter "ldap server"
Unknown parameter encountered: "ldap port"
Ignoring unknown parameter "ldap port"
Unknown parameter encountered: "ldap suffix"
Ignoring unknown parameter "ldap suffix"
Unknown parameter encountered: "ldap group suffix"
Ignoring unknown parameter "ldap group suffix"
Unknown parameter encountered: "ldap machine suffix"
Ignoring unknown parameter "ldap machine suffix"
Unknown parameter encountered: "ldap user suffix"
Ignoring unknown parameter "ldap user suffix"
Unknown parameter encountered: "ldap admin dn"
Ignoring unknown parameter "ldap admin dn"
Unknown parameter encountered: "ldap filter"
Ignoring unknown parameter "ldap filter"
Unknown parameter encountered: "ldap ssl"
Ignoring unknown parameter "ldap ssl"
Unknown parameter encountered: "idmap backend"
Ignoring unknown parameter "idmap backend"
Unknown parameter encountered: "idmap gid"
Ignoring unknown parameter "idmap gid"
Unknown parameter encountered: "idmap uid"
Ignoring unknown parameter "idmap uid"
Processing section "[homes]"
Processing section "[netlogon]"
Processing section "[profiles]"
Processing section "[printers]"
Processing section "[public]"
Processing section "[work]"
Processing section "[project]"
Server's Role (logon server) conflicts with share-level security
Loaded services file OK.
Press enter to see a dump of your service definitions


Was mich beunruhigt, ist (Ignoring unknown parameter "ldap admin dn" und alles, was mit LDAP zu tun hat) - kann es sein, dass mein Samba nicht mit LDAP kann ? Außerdem kann ich keine User hinzufügren. Wenn ich

/usr/local/samba/bin/pdbedit -a -u benutzername mache, tritt folgender Fehler auf :

Server's Role (logon server) conflicts with share-level security
could not create account to add new user marcel

hier macht mich auch das zweite stutzig (could not create account to add new user marcel) Im LDAP Verzeichnis existiert ein marcel und er soll daraus nur noch ein Samba-User machen - hat auf einem anderen Server wunderbar funktioniert.

Weiß jemand Rat ?

mfg Marcel

MrIch
25.06.04, 15:49
Unknown parameter encountered: "passdb backend"

das ist doch was generelles, da kann doch auch quasi "file" stehen.
Der Rest sind ja alles wirklich LDAP Sachen, aber passdb backend hat ja ansich noch nichts mit ldap zu tun...

DaQuark
25.06.04, 15:53
bei Passdb backend steht das hier ....

passdb backend = ldapsam:ldap://poseidon:389

hat also auch was mit LDAP zu tun. Aber wenn ich da secrets.tdb eintrage, haut's immer noch net hin. Aber warum kennt der kein LDAP ? Ich hab ihm doch explizit bei der Installation --ldapsam und --ldap als Parameter angegeben

mamue
25.06.04, 16:12
ldd smbd sagt Dir, ob der ldap-support überhaupt mit einkompiliert wurde, oder ob Du vergessen hast, die ldap-, pam- und nss-devel Pakete (devel/lib) zu installieren.

mamue

DaQuark
25.06.04, 16:23
[root@poseidon root]# ldd /usr/local/samba/sbin/smbd
libldap.so.2 => /usr/lib/libldap.so.2 (0x4001e000)
liblber.so.2 => /usr/lib/liblber.so.2 (0x40049000)
libgssapi_krb5.so.2 => /usr/kerberos/lib/libgssapi_krb5.so.2 (0x40054000)
libkrb5.so.3 => /usr/kerberos/lib/libkrb5.so.3 (0x40067000)
libk5crypto.so.3 => /usr/kerberos/lib/libk5crypto.so.3 (0x400c5000)
libcom_err.so.3 => /usr/kerberos/lib/libcom_err.so.3 (0x400d5000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x400d8000)
libpam.so.0 => /lib/libpam.so.0 (0x40105000)
libresolv.so.2 => /lib/libresolv.so.2 (0x4010d000)
libnsl.so.1 => /lib/libnsl.so.1 (0x4011f000)
libdl.so.2 => /lib/libdl.so.2 (0x40134000)
libpopt.so.0 => /usr/lib/libpopt.so.0 (0x40137000)
libc.so.6 => /lib/tls/libc.so.6 (0x42000000)
libsasl.so.7 => /usr/lib/libsasl.so.7 (0x40140000)
libssl.so.4 => /lib/libssl.so.4 (0x4014b000)
libcrypto.so.4 => /lib/libcrypto.so.4 (0x40180000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
libgdbm.so.2 => /usr/lib/libgdbm.so.2 (0x40271000)
libz.so.1 => /usr/lib/libz.so.1 (0x40279000)
[root@poseidon root]#

ist alles installiert, oder ?

mamue
25.06.04, 23:19
Laß mich noch mal dumm fragen:
Du bist Dir sicher, daß der gestartete smbd laut /etc/init.d/smbd auch wirklich der unter /usr/local/samba/sbin/smbd ist?
Bist Du Dir ferner sicher, dass das testparm das zu diesem samba gehörende ist?
Ich habe die Ausgabe von ldd smbd jetzt ein paar mal gelesen, aber ich kann entdecken, was da fehlen könnte.
Ich gebe übrigens seit samba3 nicht mehr --with-ldap, --with-ldapsam und --with-pam an. Ich glaube ldapsam ist default. Laß das vielleicht mal weg - es könnte ja sein, dass samba wegen --with-ldap nicht das neue passdb backend verwendet.

mamue

emba
27.06.04, 19:35
mach mal

smbd -b

und paste

greez

DaQuark
28.06.04, 12:24
zu mamue's Beitrag.

Jetzt bin ich mir ganz sicher, dass testparm und smbpasswd nicht zu der Samba-Version gehören, die ich installiert habe. Aus irgendeinem Grund war Samba schon auf dem System drauf (obwohl ich es bei der Installation weggelassen habe). Habe das alte Samba jetzt deinstalliert !

zu emba's Beitrag :

ich habe jetzt mal smbd -b (expliziert aus dem /usr/local/samba/sbin/-Ordner) ausgeführt ....

was dich interessieren dürfte :

Builtin modules:
pdb_ldap pdb_smbpasswd pdb_tdbsam pdb_guest rpc_lsa rpc_reg rpc_lsa_ds rpc_wks rpc_net rpc_dfs rpc_srv rpc_spoolss rpc_samr idmap_ldap idmap_tdb auth_rhosts auth_sam auth_unix auth_winbind auth_server auth_domain auth_builtin

Es scheint so, LDAP wird mit unterstützt. Denn wenn ich jetzt das RICHTIGE Testparm ausführe, erscheint keine Fehlermeldung mehr. Jetzt hab ich nur noch ein Problem :

Um einen SAMBA User zu erstellen, mache ich folgendes :

- zuerst füge ich einen normalen Nutzer mit ldapadd dem Verzeichnis hinzu
- dann führe ich /usr/local/samba/bin/pdbedit -a -u benutzername aus, um aus dem User einen Sambauser zu machen - dies hat auf anderen Servern immer funktioniert und ich mache es auf die gleiche Weise.

Wenn ich

/usr/local/samba/bin/pdbedit -a -u $benutzername

ausführe, erscheint folgende Fehlermeldung :

"could not create account to add new user benutzername"

Jemand ne Ahnung, woran das liegen könnte - hat Samba kein Zugriff auf LDAP ?

emba
28.06.04, 12:39
zum ldap prob:

erhöhe den log level und du wirst fündig, warum samba nicht adden kann

greez

DaQuark
28.06.04, 14:17
hab den log level jetzt auf 3 und auf 4 gehabt und sogar auf 5. Aber nie hat er in dem Fall was in die LogDatei reingeschrieben. Wenn ich samba starte schon - also die LogDatei ist i.O.

hm

EDIT :

so hab jetzt den Loglevel nochmal auf 5 gesetzt ... in ein logfile legt er nichts ab, aber ausgeben tut er auf der Console was :

Get_Pwnam_internals didn't find user [benutzername]!
could not create account to add new user benutzername

ich werd mich mal auf den Weg machen und im Internet nach suchen ... falls jemand weiß, woran es liegt, kann er gern was dazu schreiben :)

emba
28.06.04, 15:59
das pdbedit findet via NSS C-Calls den user nicht

das kann mehrere ursachen haben (falsche ldap.conf/nsswitch.conf, keine leserechte im ldaptree, falsche suffixe angegeben), die man hier aber ohne configfiles nicht genau eingrenzen kann ;)

greez