PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Samba meldet ständig "wrong password"



fabuk
01.06.06, 09:39
Hallo zusammen,

ich setze einen suse 9.3 pro server mit Samba 3.0.20 als PDC ein.
Funktioniert auch alles super, nur dass ständig in den logs von Samba folgender Satz kommt:
check_ntlm_password: Authentication for user [user] -> [user] FAILED with error NT_STATUS_WRONG_PASSWORD

Im Prinzip macht das nichts, denn es funkt ja alles, aber schöner wärs doch wenn so ein error nicht da wäre... ist irgendwie beruhigender :-)

Hat jemand so was schonmal gehabt? Oder eine Idee dazu...
Ich hab schon gegoogelt, getestet und die Foren duchsucht, habe aber nichts passendes gefunden.

Grüße aus Hannover

hubrach
01.06.06, 09:52
Gib doch mal deine smb.conf

fabuk
01.06.06, 10:32
Hi,

hier die smb.conf:

# Samba config file created using SWAT
# Date: 2006/05/31 15:02:23

# Global parameters
[global]
display charset = UTF-8
workgroup = Workgroup
server string = Samba Domaincontroller
map to guest = Bad User
passdb backend = ldapsam:ldap://ldap:389
username map = /etc/samba/smbusers
client NTLMv2 auth = Yes
client lanman auth = No
client plaintext auth = No
log level = 10
syslog = 3
log file = /var/log/samba/smbd
max log size = 100
time server = Yes
load printers = No
add machine script = /usr/sbin/useradd -c Machine -d /var/lib/nobody -s /bin/false %m$
logon script = logon.vbs
logon path = \\%L\profiles\%U.msprofile
logon drive = F:
logon home = \\%L\profiles\%U.9xprofile
domain logons = Yes
os level = 65
preferred master = Yes
domain master = Yes
wins support = Yes
ldap admin dn = admin
ldap group suffix = ou=groups
ldap idmap suffix = ou=idmap
ldap machine suffix = ou=comp
ldap passwd sync = Yes
ldap suffix = dc=workgroup,dc=de
ldap ssl = no
ldap user suffix = ou=users
idmap backend = ldap:ldap://ldap:389
idmap uid = 10000-20000
idmap gid = 10000-20000
template primary group = user
template homedir = /home/%U
winbind cache time = 10
admin users = user
case sensitive = No

[shares]
...

hubrach
01.06.06, 10:43
welches Betriebssystem haben die Clients ?

fabuk
01.06.06, 10:50
die meisten haben Windows XP Pro mit SP2, es gibt zwar noch ein paar w2k und auch ein paar win98 se, allerdings teste ich die Domäne bislang nur mit einem Win XP Pro SP2 und einem win98 se...

hubrach
01.06.06, 11:15
client NTLMv2 auth = Yes
Damit gehts nicht mit W98

Haben Die user eventuell kein Passwort ?
Sind die User im Backend angelegt ?
Gibt es den Maschinen Account ?

Wieso nimmst du LDAP als Userbackend ?

Gib mal ein paar Zeilen des Sambalogfiles vorher aus

fabuk
01.06.06, 11:32
Hallo hubrach,

hab auch schon versucht den Parameter "client NTLMv2 auth = no" zu setzen, hat aber nichts geändert...

Ansonsten klappt ja auch mit W98 alles...
Alle user haben ein Passwort, sind auch alle im Backend angelegt und Maschinen Account gibts auch für alle PCs.
Auf LDAP greifen wir auch noch aus anderen Diensten zu, so hat man single-sign-on und alles zentral abgelegt.

Hier ein Teil der logs:

lib/smbldap.c:smbldap_open_connection(692)
smbldap_open_connection: connection opened
passdb/pdb_ldap.c:init_sam_from_ldap(499)
init_sam_from_ldap: Entry found for user: user
[2006/06/01 11:27:04, 2] passdb/pdb_ldap.c:init_ldap_from_sam(912)
init_ldap_from_sam: Setting entry for user: user
[2006/06/01 11:27:04, 2] auth/auth.c:check_ntlm_password(312)
check_ntlm_password: Authentication for user [user] -> [user] FAILED with error NT_STATUS_WRONG_PASSWORD
[2006/06/01 11:27:12, 2] smbd/server.c:exit_server(609)
Closing connections

Vielen Dank schonmal für die schnellen Antworten!

Gruß Fabian

hubrach
01.06.06, 12:03
Schau doch mal in Dein LDAP Logfile ob da ein weiter Hinweis steht
Eventuell den Loglevel von LDAP erhöhen ...

Gibt es einen Unixaccount für die User ?

fabuk
01.06.06, 12:09
im LDAP-log steht nichts was darauf hinweist, kein error, nur standard Ausgaben und das loglevel von LDAP ist schon sehr hoch eingestellt (glaube 396)
Unixaccounts hat kein user, ausschließlich ldap...

fabuk
01.06.06, 12:12
was ist denn überhaupt das ntlm_password? ist damit das normale Passwort eines users gemeint? Wozu wird das abgefragt? Braucht man das überhaupt?
Ich hab einfach noch nicht so ganz verstanden was da passiert und was da abgefragt wird...

hubrach
01.06.06, 12:16
leg doch mal spaßeshalber einen an und versuchs dann mal

du hast aber auch >smbpasswd -a user < gemacht oder ?

was sagt >id user<



Lese hier nach : http://de.wikipedia.org/wiki/NTLM

fabuk
01.06.06, 13:12
User mit Unixaccount anlegen? Möchte ich grundsätzlich allerdings vermeiden, da sich ein User nicht lokal enmelden können soll... und ich kann mir auch nicht vorstellen, dass dadurch diese Fehlermeldung nicht mehr kommt...
Wozu denn smbpasswd -a user? Ich nutze smbpasswd doch gar nicht als password backend, und selbst wenn ich diesen Befehl ausführe wird der user in smbpasswd nicht angelegt...
id user gibt die uid des users mit username und allen Gruppen in denen der user Mitglied ist, aus.

Wenn ich das jetzt richtig verstanden hab ist ntlm ein Microsoft eigener Athentifizierungsmechanismus. Braucht man den? Kann man das nicht abstellen?

Fragen über Fragen...

hubrach
01.06.06, 13:45
Hmm stimmt brauchst Du eigendlich nicht .
Das mit dem lokalen User sollte ja auch nur zum testen sein.
NTLM ja richtig ist MS intern. Wird aber von deinen Clients benötigt ..

fabuk
01.06.06, 13:53
Hab mich grad nochmal etwas schlau gelesen.

In der Samba-Howto-collection steht:

ntlm auth

Name

"ntlm auth — Werkzeug für den externen Zugriff auf die NTLM-Authentifikationsfunktion
von Winbind."

Ich habe daraufhin mal "wbinfo -u" versucht was folgende Fehlermeldung ausgiebt:
Error looking up domain users

Vielleicht hängt das irgendwie zusammen?
ein "wbinfo -g" gibt gleiche Fehlermeldung...

hubrach
01.06.06, 14:31
womit legst du die User an ?

Ist der Username desjenigen der sich einloggt wirklich [user] ??
Oder ist das Dein Adminlogin ...
Wie heißt der LDAP Manager ?

fabuk
02.06.06, 08:09
Guten Morgen,

Nein, der Username ist nicht [user], da steht der Benutzername drin (war tatsächlich meiner), den habe ich nur ersetzt...

LDAP verwalte ich mit GQ...

fabuk
06.06.06, 09:52
keiner mehr eine Idee dazu?

bin immer noch nicht weiter gekommen...

Myst
07.06.06, 09:41
Wenn du LDAP benutzt, hast du vermutlich auch Objekte vom Typ SambaSAMAccount und PosixAccount angelegt, bzw. Objekte, die diese zwei Klassen verwenden. Zeig doch mal ein Beispiel-Objekt aus dem LDAP. Vielleicht kann man da nen Fehler rauslesen.

fabuk
07.06.06, 11:39
Hi,

hier ein ldap-Eintrag (hab allerdings ein paar Einträge rausgenommen, sollten für dieses Problem hier aber auch nicht relevant sein)

dn: uid=user,ou=users,dc=firma,dc=de
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
shadowInactive: -1
ou: users
st: Niedersachsen
initials: user
preferredLanguage: german
shadowLastChange: 13028
description: Domaenenbenutzer
sambaPasswordHistory: 00000000000000000000000000000000000000000000000000 000000
00000000
uidNumber: 1027
cn: username
uid: user
sn: name
givenName: user
homeDirectory: /home/user
loginShell: /bin/bash
phpgwAccountStatus: A
phpgwAccountExpires: -1
mail: user@mail.de
phpgwAccountType: u
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: phpgwAccount
objectClass: posixAccount
objectClass: sambaSamAccount
objectClass: shadowAccount
objectClass: top
sambaLogonTime: 2147483647
sambaLogoffTime: 2147483647
sambaKickoffTime: 2147483647
sambaPwdMustChange: 9223372036854775807
sambaSID: S-1-5-21-1344722251-2659933936-3890347267-3027
sambaAcctFlags: [U ]
displayName: username
sambaHomePath: /home/user
gidNumber: 513
sambaPrimaryGroupSID: S-1-5-21-1344722251-2659933936-3890347267-513
sambaPwdCanChange: 1149159342
sambaPwdLastSet: 1149159342
phpgwAccountLastLogin: 1149662332
phpgwAccountLastLoginFrom: 192.168.0.101

hoffe das hilft weiter...


gruß

Myst
07.06.06, 16:53
Das sieht schon mal nicht schlecht aus. Ok, gehen wir es Schritt für Schritt durch: Gibt

$ getent passwd | grep "^user"

das Benutzerkonto überhaupt aus?

fabuk
08.06.06, 08:30
Hi,

getent ... gibt den user wie folgt aus:

fk:x:1027:513:user username:/home/user:/bin/bash

Myst
08.06.06, 16:11
Das macht mich wiederum etwas stutzig. Normal sollte dein User doch "user" heißen, und nicht "fk". Ich vermute etwas stimmt mit deiner ldap-Config nicht. Oder hast du beim posten immer "fk" durch "user" ersetzt?

fabuk
09.06.06, 08:23
hi,

ups, ja ich hab den eigentlichen usernamen immer durch user ersetzt. Da hab ich wohl einmal den user übersehen...
Also ich denke das ist schon richtig so, was getent passwd ausgibt...
Deswegen bin ich ja so ratlos, da alles einwandfrei funktioniert.

Ich bin allerdings gestern noch auf eine Idee gekommen.
Es gibt in dem gleichen Netzwerk noch einen user, der den gleichen Benutzernamen hat, ist allerdings ein Novell user.
Vielleicht cached der samba oder ldap server den novell user irgendwie wenn dieser sich am novellserver athentifiziert und loggt dann die Meldung ntlm_password wrong password usw.
Wäre das denkbar?

Gruß

Myst
09.06.06, 14:40
Kann mir nicht vorstellen, der Samba ist ja ein autonomes Daemon, das User aus einem LDAP-Verzeichnis liest. Und nur aus diesem einen LDAP.

Was allerdings sein kann:

Du hast auf dem Novell ne NDS laufen, der Linux-Server auf dem LDAP liegt repliziert sich mit dem Novell und damit hast du dann das Passwort des Users übernommen, was auf dem Novell benutzt wird.

Anders kanns eigentlich nicht sein.

Funktioniert es denn mit andern Benutzernamen?

fabuk
15.06.06, 15:51
Hallo,

sorry, dass ich so lange nicht mehr geantwortet habe...
Hatte sehr viel zu tun und bin nicht mehr zum testen gekommen die letzten Tage.
Ich werde mich allerdings sofort wieder melden so wie ich etwas neues herausgefunden habe.

Grüße aus Hannover