PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Samba als PDC -> Passwort, eigenartiges Problem?



CNEY
08.03.05, 15:42
Hallo noch einmal,

ich habe derzeit folgendes, sehr merkwürdiges Problem:

Wenn ich meinen Linux-Server neustarte, wird durch Eintrag in die /etc/rc.d/rc3.d sowohl der NetBios- als auch der Samba-Dienst automatisch gestartet. Wenn ich nun über den Windows-Client das Passwort ändern möchte dann bekomme ich die Meldung: "Sie haben nicht die Berechtigung das Passwort zu ändern", trotz der richtigen Konfiguration der smb.conf:

unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *New*password* %n\n *Re-enter*new*password* %n\n *Das*Passwort*wurde*

Genau dieser Dialog spielt sich bei der Passwort-Änderung ab, warum auch immer die letzte Meldung auf Deutsch ist. Nun starte ich Samba mit rcsmb restart einmal neu und schon kann der Client sein Passwort ändern, was kann hier das Problem sein?

Gruß,
Christian

emba
08.03.05, 17:20
bitte erhöhen log level (log level = 5) und schalte das debugging für den pw-chat ein (man smb.conf)

greez

CNEY
09.03.05, 08:43
Also ich denke, dass ist die entsprechende Stelle in der Log-Datei:

[2005/03/09 08:40:53, 3] smbd/chgpasswd.c:chat_with_program(425)
chat_with_program: Dochild for user cney (uid=0,gid=0) (as_root = Yes)
[2005/03/09 08:40:54, 0] lib/util_sock.c:read_socket_with_timeout(321)
read_socket_with_timeout: timeout read. read error = Input/output error.

Ich stelle gerade fest, dass es jedenfalls nicht an der Konfiguration des Password-Chats oder so liegt. Auch auf der lokalen Maschine kann ich als Benutzer mit smbpasswd mein Passwort nicht ändern, erst wenn ich Samba einmal neugestartet habe. Ich erhalte die Fehlermeldung:

machine 127.0.0.1 rejected the password change: Error was : RAP86: The specified password is invalid.
Failed to change password for cney

Nachtrag:

Wenn ich das System ohne Samba in /etc/rc.d/rc3.d starte und es danach manuell mit rcsmb start starte, dann kann ich das Passwort ändern. Also scheint mir das Problem irgendwo beim Systemstart zu liegen.

emba
09.03.05, 09:44
mach mal ein systemstart und gleich danach "netstat -tanp"

greez

CNEY
09.03.05, 09:51
Dort bekomme ich folgende Meldung:

server:/home/cney # netstat -tanp
Aktive Internetverbindungen (Server und stehende Verbindungen)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 2983/smbd
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 3191/portmap
tcp 0 0 0.0.0.0:631 0.0.0.0:* LISTEN 3268/cupsd
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 2983/smbd
tcp 0 0 :::22 :::* LISTEN 3270/sshd

emba
09.03.05, 10:01
sieht gut aus :)

was sagt denn das log von samba (log.smbd), nachdem der fehler
machine 127.0.0.1 rejected the password change: Error was : RAP86: The specified password is invalid.
Failed to change password for cney

erscheint?

greez

CNEY
09.03.05, 10:29
Jetzt zeigt er was anderes an, ich weiß nicht ob das aussagekräftig ist:

[2005/03/09 10:27:49, 3] smbd/chgpasswd.c:chat_with_program(425)
chat_with_program: Dochild for user cney (uid=0,gid=0) (as_root = Yes)
[2005/03/09 10:27:49, 0] lib/util_sock.c:read_socket_with_timeout(321)
read_socket_with_timeout: timeout read. read error = Input/output error.
[2005/03/09 10:27:49, 2] smbd/chgpasswd.c:expect(281)
expect: Input/output error
[2005/03/09 10:27:49, 3] smbd/chgpasswd.c:talktochild(312)
Response 3 incorrect
[2005/03/09 10:27:49, 3] smbd/chgpasswd.c:chat_with_program(368)
chat_with_program: Child failed to change password: cney
[2005/03/09 10:27:49, 3] smbd/sec_ctx.c:pop_sec_ctx(386)
pop_sec_ctx (65534, 65533) - sec_ctx_stack_ndx = 1
[2005/03/09 10:27:49, 5] rpc_parse/parse_samr.c:init_samr_r_chgpasswd_user(7134)
init_r_chgpasswd_user
[2005/03/09 10:27:49, 5] rpc_server/srv_samr_nt.c:_samr_chgpasswd_user(1494)
_samr_chgpasswd_user: 1494
[2005/03/09 10:27:49, 5] rpc_parse/parse_prs.c:prs_debug(82)
000000 samr_io_r_chgpasswd_user
[2005/03/09 10:27:49, 5] rpc_parse/parse_prs.c:prs_ntstatus(672)
0000 status: NT_STATUS_ACCESS_DENIED
[2005/03/09 10:27:49, 5] rpc_server/srv_pipe.c:api_rpcTNP(1578)
api_rpcTNP: called samr successfully
[2005/03/09 10:27:49, 3] smbd/sec_ctx.c:pop_sec_ctx(386)
pop_sec_ctx (65534, 65533) - sec_ctx_stack_ndx = 0
[2005/03/09 10:27:49, 3] rpc_server/srv_pipe_hnd.c:free_pipe_context(542)
free_pipe_context: destroying talloc pool of size 22
[2005/03/09 10:27:49, 5] rpc_parse/parse_prs.c:prs_debug(82)
000000 smb_io_rpc_hdr hdr
[2005/03/09 10:27:49, 5] rpc_parse/parse_prs.c:prs_uint8(584)

emba
09.03.05, 18:18
hm,

dann scheint doch etwas mit dem passwort-chat nicht zu stimmen
schalt ma das debugging ein

greez

CNEY
10.03.05, 09:30
Das Debugging war ja an, hat mir nicht weitergeholfen. Habe das Problem näher eingegrenzt:

Direkt nach dem Systemstart kann ich als root per SSH über "smbpasswd cney" das Passwort des Benutzers ändern, als cney per SSH hingegen nicht:

cney@server:~> smbpasswd
Old SMB password:
New SMB password:
Retype new SMB password:
machine 127.0.0.1 rejected the password change: Error was : RAP86: The specified password is invalid.
Failed to change password for cney

Starte ich nun Samba einmal neu, kann ich das Passwort als User problemlos ändern. Also eigentlich kann es nicht an dem Passwort-Chat liegen, schliesslich klappt es ja so wenn ich samba einmal neu starte.

CNEY
10.03.05, 10:15
Also, jetzt geht es! Ich habe jetzt einfach den Standard der "password chat" zeile genommen (also die Zeile ganz aus der smb.conf rausgeworfen) und nun geht es.

Aber an dieser Stelle, emba, besten Dank für Deine Hilfe. Habe dadurch auch einiges hinzugelernt.