How to check user name and password for Linux accounts

Can ruby check user name and password the same way as Linux OS? I use
"ypcat passwd" to list all users and its encrypted password. I want
users to input their user name and password to ruby and let ruby the
check its validation.

thanks.

···

--
Posted via http://www.ruby-forum.com/.

Zhao Yi wrote:

Can ruby check user name and password the same way as Linux OS? I use
"ypcat passwd" to list all users and its encrypted password. I want
users to input their user name and password to ruby and let ruby the
check its validation.

thanks.

You may be able to find a wrapper to crypt(3) or whatever your system
uses to generate the hashes in the passwd file. Or a pure ruby one.
-=r

···

--
Posted via http://www.ruby-forum.com/\.

Zhao Yi wrote:

Can ruby check user name and password the same way as Linux OS? I use
"ypcat passwd" to list all users and its encrypted password. I want
users to input their user name and password to ruby and let ruby the
check its validation.

thanks.

If your system uses PAM, like most modern linux distros, you might want to look at Ruby/PAM[1]

I haven't tried it but a quick look through the examples seems like it could work for you.

[1]PAM/Ruby

HTH

Matt

If you have the encrypted passwords from ypcat, then they are easy to
check.

irb(main):002:0> enc_pw = "aauZSSiXB7FbU"
=> "aauZSSiXB7FbU"
irb(main):003:0> "ruby".crypt(enc_pw) == enc_pw
=> true

irb(main):005:0> enc_pw = "$1$aaaa$jM9byC6tzuk.OYACuTQrJ/"
=> "$1$aaaa$jM9byC6tzuk.OYACuTQrJ/"
irb(main):006:0> "ruby".crypt(enc_pw) == enc_pw
=> true

···

--
Posted via http://www.ruby-forum.com/.