我想从正在运行的用户那里获取一个密码,然后在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