Try this:
#strace passwd >xx 2>&1
<enter>password
<enter>password
#more xx
will advise what's happening and correct accordingly.
> ** Reply to note from Vic <[EMAIL PROTECTED]> Wed, 10 Sep 2003 17:50:00
>
>
> > as root, strace passwd voytek, see how far it ges before segfaulting..
> >
> > it won't work as a normal user as passwd is setuid..
>
> hmmm, I just tried with what the passwd tool called 'bad, too short' ,
AND, *it worked*.
>
>
> # passwd voytek
> Changing password for user voytek.
> New password:
> BAD PASSWORD: it is too short
> Retype new password:
> passwd: all authentication tokens updated successfully.
>
>
> # passwd voytek
> Changing password for user voytek.
> New password:
> (data fseek failed): Invalid argument
> Segmentation fault
>
> last 24 lines
>
> ----
> read(5, "", 4096) = 0
> getuid32() = 0
> open("/etc/passwd", O_RDONLY) = 6
> fcntl64(6, F_GETFD) = 0
> fcntl64(6, F_SETFD, FD_CLOEXEC) = 0
> fstat64(6, {st_mode=S_IFREG|0644, st_size=4526, ...}) = 0
> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0x40
> 021000
> read(6, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 4096
> close(6) = 0
> munmap(0x40021000, 4096) = 0
> _llseek(4, 20480, [20480], SEEK_SET) = 0
> read(4, "g\6\0\36h\6\0gh\6\0\255h\6\0\3i\6\0Ji\6\0\226i\6\0\362"..., 4096)
= 409
> 6
> fstat64(3, {st_mode=S_IFREG|0600, st_size=828083, ...}) = 0
> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0x40
> 021000
> _llseek(3, 18446744072216379392, 0xbfff8040, SEEK_SET) = -1 EINVAL
(Invalid argu
> ment)
> write(2, "(data fseek failed): Invalid arg"..., 38(data fseek failed):
Invalid a
> rgument
> ) = 38
> --- SIGSEGV (Segmentation fault) ---
> +++ killed by SIGSEGV +++
> [EMAIL PROTECTED] root]#
>
>
> Voytek Eymont
> --
> SLUG - Sydney Linux User's Group - http://slug.org.au/
> More Info: http://lists.slug.org.au/listinfo/slug
--
SLUG - Sydney Linux User's Group - http://slug.org.au/
More Info: http://lists.slug.org.au/listinfo/slug