Суть использования солт-значения заключается в том, что результат будет различным для каждого солт-значения. Использование одной и той же соли для каждого пароля сводит на нет преимущество наличия соли.
Что касается того, как функция проверки пароля узнает, какая соль была использована, соль сохраняется как часть хэша пароля. Первые реализации использовали первые два символа для соли, за которыми следовала хэш. Теперь формат хэша пароля представляет собой несколько полей, разделенных знаком $
. В первом поле указывается используемый алгоритм, затем необязательные параметры, значение соли и сам хэш.
В вашем случае вывод содержит ваше значение соли,22446688
$6$ 22446688 $...
Во второй команде соль представляет собой случайное значение,nLtu32Q.5ZtRwK9x
$6$ nLtu32Q.5ZtRwK9x $...
Проверка пароля получает полную строку, включая алгоритм и соль, чтобы можно было проверить пароль.
Каждая запись в /etc/passwd
описывает одну учетную запись пользователя, строки комментариев не поддерживаются.
Формат файла см. в passwd(5)
(man 5 passwd
).
В /etc/passwd
разрешены только пользовательские записи, все остальное считается искаженным и приводит к сбою некоторых инструментов, зависящих от этого файла.
TLDR :Нет
Подпрограммы библиотеки C musl для обработки базы данных учетных записей, getpwent()
и др., не допускают никаких комментариев в файлах /etc/passwd
или /etc/shadow
. Код библиотеки просто не рассматривает какой-либо символ в качестве вводного комментария. (Он также не распознает строку +
как флаг YP и вообще не разрешает использование каких-либо специальных маркеров.)
Если у вас есть какие-либо программы, созданные для библиотеки musl C, не пытайтесь добавлять комментарии к этим файлам.
Библиотека GNU C и библиотека C FreeBSD, однако, обе разрешают комментарии.
Вернее:
Код библиотеки GNU C, предоставляющий files
исходные коды всех баз данных NSS(см. руководство nsswitch.conf
), разрешает комментарии строк с #
в качестве первого символа, отличного от -пробела. Таким образом, комментарии могут содержать не только /etc/passwd
и /etc/shadow
.
В BSD файл /etc/passwd
не является базой данных учетных записей. В BSD база данных учетных записей не является базой данных плоских файлов,но в файле Berkeley DB (два, на самом деле, /etc/pwd.db
и /etc/spwd.db
), которые по природе файлов Berkeley DB не допускают комментариев. /etc/master.passwd
представляет собой скомпилированную в базу данных учетных записей (s )с помощью инструмента pwd_mkdb
.
Файл /etc/passwd
на BSD является фиктивным файлом обратной -совместимости, созданным pwd_mkdb
, фактически не используемым для поиска подпрограммами библиотеки C и предназначенным только для людей с сценариями оболочки, использующими прямой awk /etc/passwd
и например, а не лучшая команда getent passwd
(, которая обертывает библиотеку C для сценариев оболочки ).
Во FreeBSD и ее производных/etc/master.passwd
может содержать комментарии , а инструмент pwd_mkdb
копирует комментарии из /etc/master.passwd
в /etc/passwd
, не помещая их в основные файлы Berkeley DB. При желании #
могут предшествовать только символы TAB и SPC, что не совсем совпадает с библиотекой GNU C (, которая допускает использование любого пробельного символа, удовлетворяющего isspace()
в локали процесс с использованием подпрограмм библиотеки GNU C, что, вероятно, очень неясно это -это -иногда --комментарий -иногда --секрет -суперпользователь -запись об ошибке, ожидающая своего появления ).
Команды pwd_mkdb
OpenBSD и NetBSD, напротив, не допускают комментариев в /etc/master.passwd
и не вставляют комментарии в фиктивный /etc/passwd
.
Таким образом, вы можете использовать #
комментарии, которым предшествуют TAB и SPC, в /etc/master.passwd
на FreeBSD; и #
комментарии, которым предшествуют isspace()
символы текущей локали в /etc/passwd
, /etc/shadow
и целом ряде других источников NSS в операционных системах на базе Linux -, если все (релевантны )программы связаны с библиотекой GNU C.