Bug 430105 - smbldap-passwd fails on samba-only user
Summary: smbldap-passwd fails on samba-only user
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: smbldap-tools
Version: 8
Hardware: All
OS: Linux
low
high
Target Milestone: ---
Assignee: Paul Howarth
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-01-24 15:28 UTC by John Holmstadt
Modified: 2008-07-30 22:26 UTC (History)
1 user (show)

Fixed In Version: 0.9.5-2.fc8
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-07-30 22:26:54 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Patch for smbldap-passwd on smbldap-tools-0.9.4-1.fc8 (450 bytes, patch)
2008-05-21 16:28 UTC, John Holmstadt
no flags Details | Diff

Description John Holmstadt 2008-01-24 15:28:44 UTC
Upon upgrading from smbldap-tools-0.9.2-3.fc5 to smbldap-tools-0.9.4-1.fc8, I
noticed I could no longer change user passwords. smbldap-passwd would fail with
this error:

[root@myserver ~]# smbldap-passwd jdoe
Changing UNIX and samba passwords for jdoe
New password:
Retype new password:
Use of uninitialized value in string at /usr/sbin/smbldap-passwd line 277,
<STDIN> line 2.
Failed to modify UNIX password: shadowMax: value #0 invalid per syntax at
/usr/sbin/smbldap-passwd line 285, <STDIN> line 2.
[root@myserver ~]#


The problem seems to stem from 2 things:
1) I have no defaultMaxPasswordAge set in smbldap.conf. However, this has never
been a problem in the past, and isn't stated as being a required setting. If
possible, I'd like to keep maximum password ages diabled.
2) smbldap-passwd is trying to change attributes to the users account which
don't exist. If I'm reading the code correctly, it's attempting to set 3
attributes which don't apply to the samba schema: userPassword,
shadowLastChange, and shadowMax. They only apply to the nis schema, which we do
not use.

I apologize if I'm misconfiguring something, however as I stated, this worked
fine in 0.9.2.

Comment 1 John Holmstadt 2008-01-24 18:57:25 UTC
Correction: userPassword is in the samba schema, however shadowLastChange and
shadowMax are not.

Additionally, here is the LDIF export of the applicable jdoe user account that
was created using: smbldap-useradd -a -m -c "John Doe" -P jdoe

dn: uid=jdoe,ou=People,dc=mydomain,dc=com
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
objectClass: sambaSamAccount
cn: jdoe
sn: jdoe
givenName: jdoe
uid: jdoe
uidNumber: 8199
gidNumber: 513
homeDirectory: /var/resource/users/jdoe
loginShell: /bin/bash
gecos: John Doe
userPassword: {crypt}x
sambaLogonTime: 0
sambaLogoffTime: 2147483647
sambaKickoffTime: 2147483647
sambaPwdCanChange: 0
displayName: jdoe
sambaSID: S-1-5-21-2828578859-3132521847-1089271054-17398
sambaPrimaryGroupSID: S-1-5-21-2828578859-3132521847-1089271054-513
sambaLogonScript: jdoe.bat
sambaHomeDrive: H:
sambaAcctFlags: [U]
sambaPwdMustChange: 1516489003
sambaLMPassword: (crypt)
sambaNTPassword: (crypt)
sambaPwdLastSet: 1201187794

Comment 2 John Holmstadt 2008-05-21 16:28:40 UTC
Created attachment 306274 [details]
Patch for smbldap-passwd on smbldap-tools-0.9.4-1.fc8

Ok. Seems as though the problem revolves around smbldap-passwd trying to set
shadowMax when no defaultMaxPasswordAge has been set in smbldap.conf. I have
attached a simple patch which seems to resolve the issue without any
side-effects.

Comment 3 Paul Howarth 2008-05-22 11:11:49 UTC
Quick query here: if you're not using the nis schema, how are you getting an
"objectClass: shadowAccount" in Comment #1?



Comment 4 John Holmstadt 2008-05-22 13:20:25 UTC
(In reply to comment #3)
> Quick query here: if you're not using the nis schema, how are you getting an
> "objectClass: shadowAccount" in Comment #1?

Sorry. That was incorrect. Somehow I missed the nis.schema include line in my
slapd.conf, which obviously has shadowMax. So my bug subject is inaccurate,
however the problem is still relevant. The new description should probably be
"smbldap-passwd tries to set shadowMax even though defaultMaxPasswordAge is not
defined".

Does my patch make sense?
Thanks!

Comment 5 Paul Howarth 2008-05-23 15:55:58 UTC
An almost identical patch has already been applied upstream in version 0.9.5.

See: https://gna.org/bugs/?10230

I've put together some packages for various Fedora releases at:
http://www.city-fan.org/ftp/contrib/sysutils/

The packages there are basically the same as the one I've just built for
Rawhide. If they seem OK, I'll push them as updates for F8 and F-9.

Comment 6 Fedora Update System 2008-07-08 11:20:14 UTC
smbldap-tools-0.9.5-2.fc8 has been submitted as an update for Fedora 8

Comment 7 Fedora Update System 2008-07-09 02:47:54 UTC
smbldap-tools-0.9.5-2.fc8 has been pushed to the Fedora 8 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update smbldap-tools'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F8/FEDORA-2008-6199

Comment 8 Paul Howarth 2008-07-30 22:26:54 UTC
This update is now in the main Fedora 8 updates repository.


Note You need to log in before you can comment on or make changes to this bug.