Рубрики
Без рубрики

Как Linux хранит пароль пользователя – подсказки Linux

В Linux пароль пользователя сохраняется в файле / etc / tender, если вы посмотрите содержимое, он выглядит … Помечено Linux, Python.

В Linux пароль пользователя сохраняется в /etc/shadow Файл, если вы посмотрите содержимое, он выглядит так:

root:$6$MksUWINOmX.9ZXyP$yjO8RvJj5i9.G/mOx7ZA3npdX05iv5Z07k3zI/02LMBjPE01e8hUlVhMNNpzRIWG1n0n6flWZGgW2T/LsZGRT0:17885:0:99999:7:::

Если мы разделим эту строку «:», мы получим несколько полей:

  1. корень
  2. 6 $ mksuwinomx.9zxyp $ yjo8rvjj5i … Zgrt0.

Здесь мы просто сосредоточены на первых 2 полях: первое имя пользователя, второй хешированный пароль.

Hashed Password, 6 $ mksuwinomx.9zxyp $ yjo8rvjj5i ... Zgrt0 В этом случае содержится 3 части, формат:

$hash-method-id$salt$hashed-string

Так что в нашем случае, если мы отделили вышеуказанную строку «$»:

  • 6 -> Хеш-метод I d
  • Mksuwinomx.9zxyp -> Соль
  • yjo8rvjj5i … Zgrt0 -> hahhed-string

6 – идентификатор хэша, Linux поддерживает несколько хеш-методов:

  • 1: MD5.
  • 2a: Blowfish (не в главной Glibc; добавлено в некоторые распределения Linux)
  • 5: SHA-256 (поскольку Glibc 2.7)
  • 6: SHA-512 (поскольку Glibc 2.7)

Итак, в нашем примере, теперь мы знаем Linux Hashed наш пароль с солью с алгоритмом SHA-512, а затем сохранить его в /etc/shadow файл.

Убедитесь с Python

У Питона есть Крипта Библиотека для этого хеширования.

Для генерации случайной соли для метода хеширования SHA-512:

>>> import crypt
>>> crypt.mksalt(crypt.METHOD_SHA512)
'$6$nPDcj0JFDC76QDxe'
>>> crypt.mksalt(crypt.METHOD_SHA512)
'$6$z5XUE0nOLtk8uTEn'
>>> crypt.mksalt(crypt.METHOD_SHA512)
'$6$Qu6XnlFT16QUTfiQ'

Чтобы проверить Hashed Password в нашем примере, мы можем использовать Crypt.crypt Для расчета хэшированного значения для нашего простого пароля с солью (myLoginpwd »- мой простой пароль здесь):

>>> import crypt
>>> crypt.crypt("myloginpwd", "$6$MksUWINOmX.9ZXyP")
'$6$MksUWINOmX.9ZXyP$yjO8RvJj5i9.G/mOx7ZA3npdX05iv5Z07k3zI/02LMBjPE01e8hUlVhMNNpzRIWG1n0n6flWZGgW2T/LsZGRT0'

Мы видим, что эта хэшированная строка такая же, как тот, который сохранен в /etc/shadow файл.

Ссылка

Оригинал: “https://dev.to/0xbf/how-linux-stores-user-s-password-linux-tips-nm5”