Facebook
From Colossal Leopard, 4 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 103
  1. validate_user () {
  2.         user=$1
  3.         pass=$2
  4.         shadow_digest=$(/usr/bin/getent shadow "$user" | awk -F: '{print $2}')
  5.         if [ -z "$shadow_digest" ]
  6.         then
  7.               echo "Invalid user"
  8.               return
  9.         fi
  10.         salt=$(echo $shadow_digest|awk -F\$ '{print "$"$2"$"$3}')
  11.         export USER_PASS=$pass
  12.         export PASS_SALT=$salt
  13.         user_digest=$(perl -e 'print crypt($ENV{USER_PASS},$ENV{PASS_SALT})')
  14.         echo $user_digest
  15.         if [ "$user_digest" = "$shadow_digest" ]; then
  16.             echo "Password matched."
  17.         else
  18.             echo "Password did not match"
  19.         fi
  20. }
  21.  
  22. validate_user 'USER' 'PASSWORD'