bugzilla-daemon at mindrot.org
2006-Jun-08 14:25 UTC
[Bug 1193] Open ssh will not allow changing of passwords on usernames greater than 8 characters.
http://bugzilla.mindrot.org/show_bug.cgi?id=1193
Summary: Open ssh will not allow changing of passwords on
usernames greater than 8 characters.
Product: Portable OpenSSH
Version: 3.9p1
Platform: Sparc
OS/Version: Solaris
Status: NEW
Keywords: help-wanted
Severity: major
Priority: P2
Component: ssh
AssignedTo: bitbucket at mindrot.org
ReportedBy: andrew.jones at phoenix.co.uk
Trying to run ssh 3.9p1 on Solaris 8 but when I try and change the
password on a username greater than 8 characters the following happens.
login as: abcdefghi
abcdefghi at chewbacca's password:
Last login: Wed Jun 7 13:52:28 2006 from it59114.corp.re
Sun Microsystems Inc. SunOS 5.7 Generic
October 1998
WARNING: Your password has expired.
You must change your password now and login again!
passwd: Changing password for abcdefgh
passwd(SYSTEM): abcdefgh does not exist
Permission denied
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
bugzilla-daemon at mindrot.org
2006-Jun-08 15:12 UTC
[Bug 1193] Open ssh will not allow changing of passwords on usernames greater than 8 characters.
http://bugzilla.mindrot.org/show_bug.cgi?id=1193
------- Comment #1 from dtucker at zip.com.au 2006-06-09 01:12 -------
I believe this is a bug or limitation in Solaris' "passwd" command
(which is what sshd invokes under the covers in this situation) which
occurs when the username is more than 8 characters, and that if you run
"/bin/passwd abcdefghi" on the command line you will see the same
error.
I can suggest the following things to try:
1) Don't have usernames more than 8 characters long on Solaris (or at
least, that version), since it does not appear to be supported.
2) configure sshd to only allow authentication via challenge-response
authentication ("PasswordAuthentication no" and
"ChallengeResponseAuthentication yes") which will allow sshd to change
expired passwords by calling pam_chauthtok() directly (assuming this
works, I have not tried it under those conditions). This is more
likely to work with the current OpenSSH version (4.3p2) than 3.9p1.
3) Configure sshd with UsePrivilegeSeparation=no. This will mean that
sshd will have the privileges required to call pam_chauthtok() rather
than execute /bin/passwd. (again, if it works as I've not tried it)
4) ask Sun to fix /bin/passwd to work properly with usernames longer
than 8 chars.
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
bugzilla-daemon at mindrot.org
2006-Jun-10 00:18 UTC
[Bug 1193] Open ssh will not allow changing of passwords on usernames greater than 8 characters.
http://bugzilla.mindrot.org/show_bug.cgi?id=1193
------- Comment #2 from dtucker at zip.com.au 2006-06-10 10:18 -------
According to Andrew, Sun has the following to say on the subject:
[quote]
The truncation of usernames to 8 characters is a known limitation.
Technically Solaris (2.5.1 - 10) doesn't officially support usernames
longer than 8 characters (see useradd(1M), which warns you when
creating
a long username). Solaris will run and allow logins with longer names
however, several commands, like /bin/passwd, and other utilities are
unable to handle them properly.
Many RFEs have been logged to get this changed, but they've all been
closed in the past as "Will not fix" due to the requirement to keep
inter-operability between the Solaris releases.
This point of view is being reviewed and an RFE for this is limitation
is currently open (Bug/RFE: 4109819).
Until this is changed, the only way users with long usernames will be
able to change their passwd is by explicitly calling /bin/passwd with
the full username:
$ /bin/passwd longusername
[/quote]
I suggest trying rebuilding OpenSSH with "./configure
--with-cflags=-DPASSWD_NEEDS_USERNAME" which will do what is described
above.
I'm not sure if it will have any other side effects though (on some
platforms that only works for root, and by the time sshd invokes passwd
it has already given up all of its privileges).
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
bugzilla-daemon at mindrot.org
2006-Jun-23 11:36 UTC
[Bug 1193] Open ssh will not allow changing of passwords on usernames greater than 8 characters.
http://bugzilla.mindrot.org/show_bug.cgi?id=1193 ------- Comment #3 from dtucker at zip.com.au 2006-06-23 21:36 ------- Created an attachment (id=1149) --> (http://bugzilla.mindrot.org/attachment.cgi?id=1149&action=view) Define PASSWD_NEEDS_USERNAME for Solaris Brief experimentation indicates that this will work. Is it worth adding this as a workaround? ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee.
bugzilla-daemon at mindrot.org
2006-Jun-23 13:04 UTC
[Bug 1193] Open ssh will not allow changing of passwords on usernames greater than 8 characters.
http://bugzilla.mindrot.org/show_bug.cgi?id=1193 ------- Comment #4 from djm at mindrot.org 2006-06-23 23:04 ------- it looks sane, but will need testing across the solaris[-es/en] we support ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee.
bugzilla-daemon at mindrot.org
2006-Jun-23 13:12 UTC
[Bug 1193] Open ssh will not allow changing of passwords on usernames greater than 8 characters.
http://bugzilla.mindrot.org/show_bug.cgi?id=1193
dtucker at zip.com.au changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
------- Comment #5 from dtucker at zip.com.au 2006-06-23 23:11 -------
(In reply to comment #4)> it looks sane, but will need testing across the solaris[-es/en] we
> support
I can test 2.5.1, 8 and 9. 10 (and maybe opensolaris) would be
important to test but I'm less worried about the ones in the middle.
Note for anyone testing the patch: you will need to run "autoreconf"
from autoconf-2.59 to rebuild configure before reconfiguring and
building.
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
bugzilla-daemon at mindrot.org
2006-Jun-24 02:11 UTC
[Bug 1193] Open ssh will not allow changing of passwords on usernames greater than 8 characters.
http://bugzilla.mindrot.org/show_bug.cgi?id=1193
dtucker at zip.com.au changed:
What |Removed |Added
----------------------------------------------------------------------------
OtherBugsDependingO| |1155
nThis| |
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
------- Comment #6 from dtucker at zip.com.au 2006-06-24 12:11 -------
Tested OK on the systems I have access to. Patch applied and will be
in OpenSSH 4.4.
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.