Re: Incorrect password

[email protected] Tue, 01 Feb 2005 14:28:31 -0000
Newsgroups gmane.mail.neomail.general
Message-ID <41FF920F.2521.F95782@localhost>
I guess I didn't explain properly...

1) /etc/shadow is specified correctly
2) checklogin.pl can read /etc/shadow just fine
3) suidperl is installed on the system
4) I have read the FAQ's and spent several hours trying to figure the 
problem out before attacking the mailing lists ;)


I can run checkconfig.pl manually (ie: as a non-root user) and it 
reads and confirms the username/password, ie: if you manually type:

#./checkconfig.pl
/etc/shadow<cr>
username<cr>
password<cr>
#echo $?
0

If the username/password are incorrect it return '1' instead of '0'
So checkconfig.pl is working fine.

The trouble is that Perl gets the return value '13' no matter what 
username/password is entered. I know this because I have added a 
couple of extra "writelog()" lines in neomail.pl so I can see the 
variables at various stages in the login() subroutine.

Regards,
Chris


-----8< snip


From FAQ Official of Neomail:
 
 
 Q. I got NeoMail installed OK, but I can"t login! No
 matter what I type I
    get the invalid password message.  Also, my Apache
 error_log shows reads on
    a closed filehandle, <PASSWD> and a couple uses of
 undefined values as well.
    What gives?
 
 A. This means that, for some reason, NeoMail is having
 trouble opening the file
    you specified as your encrypted password file
 during setup.pl, or in the
    $passwdfile variable if you configured NeoMail
 manually.
 
    The root of this problem could be one of several
 possibilities.  First, and
    most commonly, is that people simply forget to
 specify /etc/shadow as the
    password file when using shadowed passwords.  This
 generally happens on
    manual installs only, as setup.pl does some
 checking to make sure that
    there are encrypted passwords in whatever file it
 defaults to.
 
    The next possibility is that while the program
 knows where your passwords
    are stored, it cannot open the file to read them,
 because it has
    insufficient permissions.  Checklogin.pl should
 generally run suid root,
    unless you choose a manual install and used a file
 that doesn"t require root
    permissions to be read for your encrypted
 passwords.
 
    If this isn"t the case, another likely possibility
 is that while you have
    the Perl interpreter on your system, you don"t have
 the additional wrapper
    program included in most Perl distributions,
 suidperl.  This should
    generally exist in the same directory as perl does,
 and be setuid root.
    When perl opens a setuid script, it sees the setuid
 bit, and since most
    operating systems don"t allow scripts to run
 setuid, it calls the suidperl
    executable to run the script with root permissions.
 
 Greetings,
 Miguel!
 
  --- info@ca... escribi=F3: 
 > After installing Neomail on a Fedora Core 3 system
 > it seems to have a 
 > problem checking users passwords returning the
 > error:
 > 
 > Sorry, the password you entered was incorrect!
 > Please go back and try again
 > 
 > After doing some digging, it looks like the
 > checklogin.pl program is 
 > returning the value 13 no matter what
 > username/password combination 
 > you enter.
 > 
 > Run checklogin.pl manually from the command line and
 > it works just 
 > find, ie: "echo $?" returns "0" when correct
 > username/password 
 > entered and "1" when incorrect details entered.
 > 
 > For some reason perl is always seeing the return
 > value as 13
 > 
 > Anyone any idea"s ?
 > 
 > Thanks,
 > Chris





-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl