소스 검색

fix for md5 hashes

Serghey Rodin 10 년 전
부모
커밋
ea24113610
1개의 변경된 파일10개의 추가작업 그리고 2개의 파일을 삭제
  1. 10 2
      bin/v-check-user-password

+ 10 - 2
bin/v-check-user-password

@@ -49,7 +49,15 @@ fi
 #----------------------------------------------------------#
 
 # Parsing user's salt
-salt=$(grep "^$user:" /etc/shadow |cut -f 3 -d \$)
+shadow=$(grep "^$user:" /etc/shadow)
+salt=$(echo "$shadow" |cut -f 3 -d \$)
+method=$(echo "$shadow" |cut -f 2 -d \$)
+if [ "$method" -eq '1' ]; then
+    method='md5'
+else
+    method='sha-512'
+fi
+
 if [[ -z "$salt" ]] || [[ "${#salt}" -gt 12 ]]; then
     echo "Error: password missmatch"
     echo "$DATE $user $ip failed to login" >> $VESTA/log/auth.log
@@ -57,7 +65,7 @@ if [[ -z "$salt" ]] || [[ "${#salt}" -gt 12 ]]; then
 fi
 
 # Generating SHA-512
-hash=$($BIN/v-generate-password-hash sha-512 $salt <<< $password)
+hash=$($BIN/v-generate-password-hash $method $salt <<< $password)
 if [[ -z "$hash" ]]; then
     echo "Error: password missmatch"
     echo "$DATE $user $ip failed to login" >> $VESTA/log/auth.log