I have a panel written on Sinatra, linux.
Administrator must provide root password on login page.
How I can perform verification process: how to verify system password in
linux with ruby?
Fomistoklus Fomistoklus wrote in post #1178803:
Administrator must provide root password on login page.
You can use PTY and run login command :
- PTY create a pseudo terminal,
- login or su command can be run in this terminal
===
require ‘pty’
require ‘expect’
PTY.spawn(“su root ls”) { |read,write,pid|
read.expect(/Password:/i) { write.puts “1234” }
read.expect(/Authentication failure/) { puts “nok” }
read.each {|t| puts t }
}
Hello d’Aubarede and thank you for the method you have provided.
I’ve solved the problem by the following way:
%x(echo “#{@username}:#{@password}” | chpasswd)
a bit ugly but workable.
thank you!