I had the same situation (Solaris 10, Sun Dir Server, Samba 3.0.33.)
I wrote an external script to change the password. Make sure the script
is owned by root and with perms 600 or 700 since it needs the LDAP super
user's password.
#vi smb.conf
...
unix password sync = yes
passwd program = /etc/samba/smbldappasswd.sh %u
ldap passwd sync = no
...
#vi /etc/samba/smbldappasswd.sh
#!/bin/bash
USER="uid="$1",ou=people,o=domain.com"
echo -n New password:
read NEWPASS
date >> /etc/samba/smbldappasswd.log
echo $USER >> /etc/samba/smbldappasswd.log
echo $NEWPASS >> /etc/samba/smbldappasswd.log
/opt/SUNWdsee/dsee6/bin/ldappasswd -h obelix -D "cn=Directory Manager"
-w *** -v -s $NEWPASS $USER
On 11/03/09 03:44, Volker Jordan wrote:> Hi,
>
> I want, that the unix password ( stored on LDAP ) gets changed when a
> user changes his samba password ( stored on LDAP ).
> So I set ldap passwd sync = yes, but the unix password does not get
> changed. The samba password is updated.
>
> Smbpasswd shows this error
>
> machine 127.0.0.1 rejected the (anonymous) password change: Error was :
> Wrong Password.
> Failed to change password for user1.
>
> After looked at all samba logs, but nothing told me whats wrong.
> Finally I looked at the error log of the LDAP server and here is the
> error:
>
> Password change not allowed. Old password value must be supplied.
>
> So how can I fix this?
>
> Samba 3.0.28 / Solaris 10 / Sun Java Directory Server
>
> Regards
>
> Volker Jordan
>
>
>