Получить хеш пароля linux

/etc/shadow – HowTo: Generate Password Hash in Linux

Linux stores users’ encrypted passwords, as well as other security information, such as account or password expiration values, in the /etc/shadow file.

Someday you may need to edit the /etc/shadow file manually to set or change ones password.

Unlike the /etc/passwd that is readable for everyone, the /etc/shadow file MUST be readable by the ROOT user only.

For this you would have to generate password hash in the format compatible with /etc/shadow .

Cool Tip: Want to create a USER with ROOT privileges? This can be very dangerous! But if you insist… Read more →

There is no need to install any additional tools as it can be easily done from the Linux command line using Python.

Generate Password Hash for /etc/shadow

The $ID indicates the type of encryption, the $SALT is a random (up to 16 characters) string and $ENCRYPTED is a password’s hash.

Hash Type ID Hash Length
MD5 $1 22 characters
SHA-256 $5 43 characters
SHA-512 $6 86 characters

Cool Tip: Got a hash but don’t know what type is it? Find out how to easily identify different hash types! Read more →

Use the below commands from the Linux shell to generate hashed password for /etc/shadow with the random salt.

Generate MD5 password hash:

python -c "import random,string,crypt; randomsalt = ''.join(random.sample(string.ascii_letters,8)); print crypt.crypt('MySecretPassword', '\$1\$%s\$' % randomsalt)" --- $1$YjOzcqrf$Zqx4sx5CQRuEIFCdOLAJV0

Generate SHA-256 password hash:

python -c "import random,string,crypt; randomsalt = ''.join(random.sample(string.ascii_letters,8)); print crypt.crypt('MySecretPassword', '\$5\$%s\$' % randomsalt)" --- $5$LgsPuaeR$OCtm.3tpbS/wyOZAIy6dsVNP4x0GyohyGebkIz15e88

Generate SHA-512 password hash:

python -c "import random,string,crypt; randomsalt = ''.join(random.sample(string.ascii_letters,8)); print crypt.crypt('MySecretPassword', '\$6\$%s\$' % randomsalt)" --- $6$HMpFTkgb$WqzuqMqYbjWsXFrOtvZPo.1gIkH6HiXJGr4QPv.k26jE.3mE.sdf3dds[. ]

Hope these commands will be helpful.

Читайте также:  Linux create empty files

Just don’t forget to replace MySecretPassword with YourSecretPassword.

As you can see, it is really very easy to generate hashes for the /etc/shadow from the Linux command line using Python.

Particularly for the reason that the Python is installed by default on the most Linux distributions.

Источник

Получить хеш пароля linux

Команда mkpasswd позволяет задействовать одноименную утилиту, являющуюся надстройкой над функцией crypt() библиотеки glibc и предназначенную для генерации хэшей паролей. Утилита просто выводит хэши паролей, поэтому в случае необходимости генерации хэшей паролей пользователей системы с помощью нее администратору придется добавлять их в файл /etc/shadow самостоятельно. Разумеется, утилита поддерживает множество алгоритмов создания хэшей и может генерировать произвольные пароли в соответствии с критериями пользователя.

Примечание: утилита предустановлена в большинстве систем, тем не менее, важно знать о том, что в основанных на Debian дистрибутивах она распространяется в составе пакета ПО whois.

Базовый синтаксис команды выглядит следующим образом:

$ mkpasswd [параметры] пароль [значение-salt]

Команда может принимать пароль, значение salt, а также ряд параметров. Актуальными для обычного пользователя параметрами являются параметр -m, позволяющий выбрать алгоритм генерации хэша пароля и параметр -R, позволяющий задать число округлений.

Утилита поддерживает следующие алгоритмы генерации хэшей паролей:

Название Алгоритм
yescrypt Yescrypt
gost-yescrypt GOST Yescrypt
scrypt scrypt
bcrypt bcrypt
bcrypt-a Устаревшая версия bcrypt $2a$
sha512crypt SHA-512
sha256crypt SHA-256
sunmd5 SunMD5
md5crypt MD5
bsdicrypt Расширенный алгоритм BSDI на основе DES
descrypt Стандартный 56-битный алгоритм DES
nt NT-Hash

Наиболее безопасным и актуальным алгоритмом хэширования паролей на данный момент является алгоритм SHA-512. Этот же алгоритм используется в большинстве дистрибутивов для хэширования паролей пользователей. По умолчанию же утилита использует алгоритм Yescrypt, поэтому имеет смысл явно указывать нужный вам алгоритм.

Читайте также:  Поменять пароль linux ssh

Примеры использования

Генерация хэша пароля

Для генерации хэша пароля следует использовать утилиту mkpasswd без каких-либо параметров, кроме указания алгоритма:

$ mkpasswd -m sha512crypt Пароль: $6$tQXin86./qTbzdG6$rG6tdRjWTBAbr4tEyyrMMTDfqH1Kin8fFkxlvq.NpSkFZe9n5.V4mre.epSSqKSIMo.HG4g3ZmTFArQQ3wd8k0

Пароль запрашивается в интерактивном режиме. Сам хэш расположен после второго разделителя ($). Таким образом, после первого разделителя выводится идентификатор алгоритма шифрования SHA-512 (6), а после второго — значение salt (tQXin86./qTbzdG6). Что касается значения salt, то оно генерируется случайным образом в том случае, если пользователь его явно не указал.

Для того, чтобы сгенерировать хэш пароля с заданным значением salt, достаточно передать это значение посредством параметра -S:

$ mkpasswd -m sha512crypt -S tQXin86./qTbzdG6 Пароль: $6$tQXin86./qTbzdG6$rG6tdRjWTBAbr4tEyyrMMTDfqH1Kin8fFkxlvq.NpSkFZe9n5.V4mre.epSSqKSIMo.HG4g3ZmTFArQQ3wd8k0

В данном случае был введен идентичный пароль, а из-за того, что значение salt было также идентичным, был сгенерирован идентичный хэш. Если снова сгенерировать хэш без задания значения salt, он будет отличаться из-за вновь сгенерированного значения salt:

$ mkpasswd -m sha512crypt Пароль: $6$BB9i.6.wKiKgLqdH$wdSlPKWL8EtDtxGmk4VSi.4BWprfJFfzPWMCtynuAC4ok8Ut1XTUVdWSJZjzc4DaPQin5Sz7yLCqnbHcPnovd/

Аналогичным образом могут использоваться и иные алгоритмы генерации хэшей паролей.

Источник

Оцените статью
Adblock
detector