Назад | Перейти на главную страницу

Как установить хеш шифрования при создании пользователя Linux?

Я хочу создать несколько пользователей Linux на своем компьютере, чтобы протестировать JohnTheRipper с разными типами паролей (включая длину, кодировку и метод хеширования). Как я могу легко указать, какой алгоритм хеширования использовать при создании нового пользователя? Я знаю, что файл /etc/login.defs содержит переменную ENCRYPT_METHOD, для которой по умолчанию установлено значение SHA512 во многих системах Debian, но я бы знал, можно ли использовать другой хэш шифрования без изменения этого файла.

ps: я попытался изменить этот файл, перезагрузившись и создать нового пользователя с помощью команды adduser, но пользователь метода хеширования шифрования всегда является SHA512

Спасибо

Самый простой способ установить пароль с помощью метода хеширования, отличного от стандартного, - сначала вручную хешировать пароль, а затем указать этот пароль при настройке пользователя:

 adduser --password HASHEDPASSWORD user

Если HASHEDPASSWORD должен соответствовать стандартам вашей системы для crypt функция (man 3 crypt):

Если соль - это символьная строка, начинающаяся с символов «$ id $», за которыми следует строка, оканчивающаяся на "$":

         $id$salt$encrypted

затем вместо использования машины DES идентификатор идентифицирует используемый метод шифрования, а затем определяет, как интерпретируется остальная часть строки пароля. Поддерживаются следующие значения id:

          ID  | Method
          ---------------------------------------------------------
          1   | MD5
          2a  | Blowfish (not in mainline glibc; added in some
              | Linux distributions)
          5   | SHA-256 (since glibc 2.7)
          6   | SHA-512 (since glibc 2.7)

Так $5$salt$encrypted пароль в кодировке SHA-256 и $6$salt$encrypted является закодированным SHA-512.

Чтобы сгенерировать правильный хеш из командной строки, вы можете посмотреть Вот.

После некоторого теста лучший способ создать разных пользователей с разными алгоритмами хеширования состоит из 3 шагов:

  1. Создайте пользователя без пароля
  2. Создайте пароль формата UNIX, используя указанные параметры (соль, пароль, алгоритм хеширования)
  3. Установите сгенерированный пароль UNIX в / etc / shadow

Вот пример пользователя test1, с паролем 1234 и мкр5 как функция хеширования.

sudo adduser test1 --disabled-password sudo mkpasswd --method=md5 --salt=coolsalt 1234 $1$coolsalt$qTXiZzGn08J.xYkV1ce1y1

а теперь просто отредактируйте / etc / shadow

Перед редактированием test1:*:16559:0:99999:7:::

После редактирования test1:$1$coolsalt$qTXiZzGn08J.xYkV1ce1y1:16559:0:99999:7:::

После этого вы можете попытаться войти в систему с этим пользователем, чтобы проверить, соответствует ли формат corect.

whoami root su test1 Password: 1234 whoami test1

Спасибо за помощь