Hall Leute,
Ich habe folgendes Szenario:
Auf dem Fileserver fürs LAN läuft Samba als
Domänencontroller. Auf einem zweiten Server läuft LDAP. Samba
bezieht seine Benutzerdaten aus dem LDAP. Klappt alles wunderbar.
Aber:
Seit einiger Zeit kann man von Windows aus das Benutzerpasswort
nicht mehr ändern. Bessergesagt: Man kann es ändern, aber Windows
zeigt an, das Benutzername oder Kennwort nicht korrekt sind.
Tatsächlich ist das Passwort geändert worden.
Folgende Einträge taten bis dato ihren Dienst, heute aber nicht
mehr:
[/etc/samba/smb.conf]
[global]
[...]
passwd program = /usr/local/sbin/smbldap-passwd.pl %u
passwd chat = *password* %n\n *password* %n\n *successfull*
Ein Auszug aus den Logs mit log level 100 ergibt:
(Sorry für Überlänge)
[...]
[2005/01/10 01:38:30, 5] auth/auth_util.c:make_server_info_sam(844)
make_server_info_sam: made server info for user mueller -> mueller
[2005/01/10 01:38:30, 3] auth/auth.c:check_ntlm_password(268)
check_ntlm_password: sam authentication for user [mueller] succeeded
[...]
[2005/01/10 01:38:30, 5] auth/auth.c:check_ntlm_password(292)
check_ntlm_password: PAM Account for user [mueller] succeeded
[2005/01/10 01:38:30, 2] auth/auth.c:check_ntlm_password(305)
check_ntlm_password: authentication for user [mueller] -> [mueller] -> [mueller] succeeded
[...]
[2005/01/10 01:38:30, 5] lib/smbldap.c:smbldap_search(1017)
smbldap_search: base => [dc=cs-ol,dc=de], filter => [(&(uid=mueller)(objectclass=sambaSamAccount))], scope => [2]
[2005/01/10 01:38:30, 11] lib/smbldap.c:smbldap_open(893)
smbldap_open: already connected to the LDAP server
[2005/01/10 01:38:30, 2]
passdb/pdb_ldap.c:init_sam_from_ldap(511) init_sam_from_ldap: Entry found for user: mueller
[...]
[2005/01/10 01:38:30, 10] smbd/chgpasswd.c:dochild(218)
Invoking '/usr/local/sbin/smbldap-passwd.pl mueller' as password change program.
[...]
[2005/01/10 01:38:33, 10] smbd/chgpasswd.c:expect(286)
expect: returning True
[2005/01/10 01:38:33, 3] smbd/chgpasswd.c:chat_with_program(441)
chat_with_program: Password change successful for user mueller
[...]
[2005/01/10 01:38:33, 5] lib/smbldap.c:smbldap_modify(1063)
smbldap_modify: dn => [uid=mueller,ou=Users,dc=cs-ol,dc=de]
[2005/01/10 01:38:33, 11] lib/smbldap.c:smbldap_open(893)
smbldap_open: already connected to the LDAP server
[2005/01/10 01:38:33, 1] passdb/pdb_ldap.c:ldapsam_modify_entry(1516)
ldapsam_modify_entry: Failed to modify user dn= uid=mueller,ou=Users,dc=cs-ol,dc=de with: No such attribute
modify/delete: sambaPwdMustChange: no such value
[2005/01/10 01:38:33, 0] passdb/pdb_ldap.c:ldapsam_update_sam_account(1731)
ldapsam_update_sam_account: failed to modify user with uid = mueller, error: modify/delete:
sambaPwdMustChange: no such value (Success)
[2005/01/10 01:38:33, 3] smbd/sec_ctx.c:pop_sec_ctx(386)
pop_sec_ctx (1002, 545) - sec_ctx_stack_ndx = 1
[2005/01/10 01:38:33, 5] rpc_parse/parse_samr.c:init_samr_r_chgpasswd_user(7134)
init_r_chgpasswd_user
[2005/01/10 01:38:33, 5] rpc_server/srv_samr_nt.c:_samr_chgpasswd_user(1494)
_samr_chgpasswd_user: 1494
[2005/01/10 01:38:33, 5] rpc_parse/parse_prs.c:prs_debug(82)
000000 samr_io_r_chgpasswd_user
[2005/01/10 01:38:33, 5] rpc_parse/parse_prs.c:prs_ntstatus(672)
0000 status: NT_STATUS_ACCESS_DENIED
Das komplette Log liegt auf http://www.cs-ol.de/udo.log (300 KB)