Reset user password based on another users
Here's a quick script to set the password of a user to another user (say a manually created user 'tester' with a known password).
namespace :user do desc 'Reset user (USER=username) password to that of username "tester" (or FROM=username env)' task :reset => :environment do reset_username = ENV['USER'] unless ENV['USER'] puts 'Require "USER=username" for user to be reset' next end reset_user = User.find_by_username reset_username unless reset_user puts "Cannot find user: #{reset_username}" next end from_username = ENV['FROM'] || 'tester' from_user = User.find_by_username from_username unless from_user puts "Cannot find user: #{from_username}" next end reset_user.crypted_password = from_user.crypted_password reset_user.salt = from_user.salt reset_user .save puts 'User password reset' end end