在ruby中检查Linux影子文件的密码

时间:2014-03-05 09:33:27

标签: ruby linux bash

我想从正在运行的用户那里获取一个密码,然后在Linux中的/ etc / shadow文件中检查它,看看这是否确实是正确的密码,我尝试使用%x进行一些bash调用并获取退出状态,但显然这不起作用。

这是我的代码:

print "Enter current user password: "
system ("stty -echo")
pass = gets.chomp
system ("stty echo")
system("history -c")
%x(su root << EOF\n#{pass}\n\rEOF)

status = $?.exitstatus
until status == 0 do
        print "\nWrong password, type again: "
        system ("stty -echo")
        pass = gets.chomp
        system ("stty echo")
        %x(su root << EOF\n#{pass}\nEOF)
        status = $?.exitstatus
end

0 个答案:

没有答案