Я должен знать, существует ли команда или программное обеспечение, которое говорит мне, каков тип шифрования пароля пароль. Я знаю, что могу определить его сам, но я - новичок, и у меня нет времени для этого. Помогите!
Я предполагаю, что Вы интересуетесь паролем, связанным с учетной записью пользователя в системе.
Изучают /etc/shadow
при записи, соответствующей пользователю, которым Вы интересуетесь. Строка пароля начинается $
идентификатор $
, где идентификатор является идентификатором метода шифрования пароля. Методы шифрования документируются в man 3 crypt
.
Вот небольшая функция Bash, которая ищет тип шифрования пароля учетной записи пользователя:
passwd_encryption_method()
{
crypt_id="$(
sudo grep "$1:\\$" /etc/shadow |
sed 's/^[^:]*:$\([^$]*\)$.*/\1/'
)"
if test -z "$crypt_id"; then
echo Cannot find user "$1", or "$1" has no password
return 1
fi
case "$crypt_id" in
(1) echo MD5;;
(2a) echo Blowfish;;
(5) echo SHA-256;;
(6) echo SHA-512;;
(*) echo Unknown method, id="$crypt_id";;
esac
}
Копия функциональное определение и вставка это при приглашении оболочки; можно затем назвать его как passwd_encryption_method username
, заменив username
с названием учетной записи, которой Вы интересуетесь.