[Samba] Samba AD changing a user's password as non-root user
Rowland Penny
rowlandpenny at googlemail.com
Wed Apr 15 07:44:14 MDT 2015
On 14/04/15 16:30, Roel van Meer wrote:
> Hi!
>
> I'm using Samba in an AD setup, (version 4.2.0) and I'm looking for a
> way to change the password of a user from the command line, as a
> non-root user.
>
> I know I can use 'smbpasswd', 'samba-tool user setpassword', or
> 'samba-tool user password', but these all seem to require root
> privileges. When I run them as root, they work, but when I run them as
> non-root user, I get:
>
> user1a at test-s4ad:~$ smbpasswd -U dago
> Old SMB password:
> New SMB password:
> Retype new SMB password:
> SAMR connection to machine NT_STATUS_ACCESS_DENIED failed. Error was
> 127.0.0.1, but LANMAN password changes are disabled
>
> or
>
> user1a at test-s4ad:~$ samba-tool user password -U dago
> Password for [S4\dago]:
> New Password:
> Retype Password:
> ERROR: Failed to change password : samr_ChangePasswordUser3 for
> 'S4\dago' failed: NT_STATUS_ACCESS_DENIED
>
> So, is there a possibility to change the password of one user with a
> commandline tool run by another user (provided he has the old
> password, of course)?
>
> Thanks a lot,
>
> Roel
>
>
> PS: In case it matters, my (stripped down) smb.conf is:
>
> [global]
> workgroup = S4
> realm = s4.local
> netbios name = TEST-S4AD
> server string = test-s4ad
> server role = active directory domain controller
> server role check:inhibit = yes
> server services = s3fs rpc wrepl ldap cldap kdc drepl winbind
> ntp_signd kcc dnsupdate dns
> security = auto
> idmap_ldb:use rfc2307 = yes
> interfaces = 192.168.3.3/24 127.255.255.255/8
> bind interfaces only = Yes
> hosts allow = 192.168.3.0/255.255.255.0 127.0.0.1 LOCAL/unixdom
>
> dns forwarder = 127.0.0.2
>
> I've already tried adding:
>
> lanman auth = Yes
> client lanman auth = Yes
>
> but that didn't change anything.
The problem here is you seem to be asking for two different things,
change a users password & reset a users password. You might think they
are the same thing, but in AD land they are different. To reset a users
password, you need the users old password and the new one, but to change
a users password you just need the users new password. I have a script
that will change a users password, but it will not reset it.
Rowland
More information about the samba
mailing list