Создать хеш пароля linux

Содержание
  1. Как создать хеши паролей SHA512 в командной строке
  2. пример
  3. обходные
  4. Python (> = 3.3)
  5. Python (2.x или 3.x)
  6. Фундаментальные основы Linux. Часть VII. Управление локальными учетными записями пользователей
  7. Глава 27. Пароли пользователей
  8. Утилита passwd
  9. Файл shadow
  10. Шифрование ключевых фраз с помощью утилиты passwd
  11. Шифрование ключевых фраз с помощью утилиты openssl
  12. Шифрование ключевых фраз с помощью функции crypt
  13. Файл /etc/login.defs
  14. Утилита chage
  15. Блокировка учетных записей
  16. Редактирование локальных файлов
  17. Практическое задание: пароли пользователей
  18. Корректная процедура выполнения практического задания: пароли пользователей
  19. Как: Сгенерировать Хэш Пароля в Linux и как узнать тип хэша
  20. Сгенерировать Хэш Пароля в Linux
  21. Создать Хэш Пароля для /etc/shadow
  22. Узнать тип хэша
  23. Добавить комментарий Отменить ответ
  24. /etc/shadow – HowTo: Generate Password Hash in Linux
  25. Generate Password Hash for /etc/shadow
  26. Генераторы паролей в Linux
  27. Генераторы паролей для Linux
  28. 1. pwgen
  29. 2. makepasswd
  30. 3. PasswordMaker
  31. Оцените статью:
  32. Об авторе
  33. 7 комментариев

Как создать хеши паролей SHA512 в командной строке

В Linux я могу создать хэш пароля SHA1, используя sha1pass mypassword . Есть ли похожий инструмент командной строки, который позволяет мне создавать sha512 хэши? Тот же вопрос для Bcrypt и PBKDF2 .

Да, вы ищете mkpasswd , который (по крайней мере, в Debian) является частью whois пакета. Не спрашивай почему .

К сожалению, моя версия по крайней мере не делает bcrypt. Если ваша библиотека C делает это, она должна (и на странице man есть опция -R, чтобы установить силу). -R также работает на sha-512, но я не уверен, что его PBKDF-2 или нет.

Если вам нужно сгенерировать пароли bcrypt, вы можете сделать это довольно просто с помощью Crypt::Eksblowfish::Bcrypt модуля Perl.

В любом дистрибутиве Red Hat, таком как Fedora, CentOS или RHEL, команда mkpasswd не включает в себя тот же набор переключателей, что и версия, обычно включаемая в Debian / Ubuntu.

ПРИМЕЧАНИЕ. Команда mkpasswd фактически является частью expect пакета, и ее, вероятно, следует избегать. Вы можете узнать, к какому пакету он принадлежит, с помощью любой из этих команд.

пример

Оба эти метода лучше, чем использование, rpm так как пакеты не должны быть установлены для определения местоположения */mkpasswd .

обходные

Чтобы обойти это, вы можете использовать следующие однострочники Python или Perl для генерации паролей SHA-512. Обратите внимание, что они соленые:

Python (> = 3.3)

Python (2.x или 3.x)

Примечание: $ 6 $ обозначает sha512. Поддержка этого метода задания алгоритма зависит от поддержки библиотечной функции crypt (3) уровня операционной системы (обычно в libcrypt). Это не зависит от версии Python.

В этих примерах пароль — это строка «пароль», а соль — «соль соли». В обоих примерах используется $ 6 $, что означает, что вы хотите, чтобы crypt использовал SHA-512.

Источник

Фундаментальные основы Linux. Часть VII. Управление локальными учетными записями пользователей

Глава 27. Пароли пользователей

Данная глава содержит дополнительную информацию о паролях локальных пользователей.

В главе подробно описаны три метода установки паролей; с использованием утилиты passwd , с использованием реализации алгоритма шифрования passwd из библиотеки openssl , а также с использованием функции crypt в программе на языке C.

Кроме того, в данной главе обсуждаются параметры паролей и методики отключения, аннулирования или блокировки учетных записей пользователей.

Утилита passwd

Файл shadow

Файл /etc/shadow содержит таблицу с девятью разделенными двоеточиями столбцами. Эти девять столбцов (слева направо) содержат имя пользователя, зашифрованный пароль, время последнего изменения пароля (первый день соответствует 1 января 1970 года), количество дней, в течение которых пароль должен оставаться неизменным, день истечения срока действия пароля, количество дней перед истечением срока действия пароля, в течение которых должно выводиться предупреждение, количество дней после истечения срока действия пароля, по прошествии которых учетная запись должна быть отключена, а также день, когда учетная запись была отключена (также с начала 1970 года). Последнее поле пока не имеет значения.

Все пароли в примере выше являются хэшами фразы hunter2 .

Шифрование ключевых фраз с помощью утилиты passwd

Шифрование ключевых фраз с помощью утилиты openssl

Другой способ создания учетных записей пользователей с паролями заключается в использовании параметра -p утилиты useradd, но в случае использования данного параметра утилите необходимо передавать уже зашифрованный пароль. Вы можете зашифровать пароль с помощью команды openssl passwd .

Помните о том, что после выполнения данной команды ваш пароль в открытом виде будет сохранен в файле истории команд командной оболочки!

Шифрование ключевых фраз с помощью функции crypt

Обратили ли вы внимание на то, что первые два символа зашифрованного пароля являются значением salt ?

Читайте также:  Сборка mac os для ноутбука

Файл /etc/login.defs

Утилита chage

Блокировка учетных записей

Пароли из файла /etc/shadow не могут начинаться с символа восклицательного знака. Если второе поле в строке из файла /etc/passwd начинается с символа восклицательного знака, пароль не может использоваться.

Использование данной особенности обычно называется блокировкой , деактивацией или отключением пользовательской учетной записи. Помимо текстового редактора vi (или vipw) вы можете использовать утилиту usermod для этой цели.

Следует подходить с осторожностью к работе и учитывать различия параметров интерфейса командной строки утилит passwd , usermod и useradd в различных дистрибутивах Linux. Проверяйте содержимое локальных файлов при использовании таких возможностей, как «деактивация, отключение или блокировка» учетных записей пользователей и их паролей.

Редактирование локальных файлов

Практическое задание: пароли пользователей

1. Установите пароль hunter2 для пользователя serena .

2. Также установите пароль для пользователя venus , после чего заблокируйте учетную запись пользователя venus с помощью утилиты usermod . Проверьте наличие признаков блокировки в файле /etc/shadow до и после осуществления блокировки.

3. Используйте команду passwd -d для деактивации пароля пользователя serena . Проверьте наличие строки для пользователя serena в файле /etc/shadow до и после осуществления деактивации.

4. Каковы различия между операцией блокировки пользовательской учетной записи и операцией деактивации пароля пользовательской учетной записи, которые мы только что осуществляли с помощью команд usermod -L и passwd -d ?

5. Попытайтесь изменить пароль serena на пароль serena as serena.

6. Сделайте так, чтобы пользователь serena был обязан изменять пароль через каждые 10 дней.

7. Сделайте так, чтобы каждый новый пользователь был обязан изменять свой пароль через каждые 10 дней.

8. Воспользуйтесь учетной записью пользователя root для создания резервной копии файла /etc/shadow . Используйте текстовый редактор vi для копирования хэша пароля hunter2 из строки пользователя venus в строку пользователя serena . Может ли после этого пользователь serena войти в систему с паролем hunter2 ?

9. В каких случаях следует использовать утилиту vipw вместо vi ? Какая проблема может возникнуть при использовании текстового редактора vi или vim для редактирования файла паролей?

10. Используйте команду chsh для вывода списка доступных командных оболочек (данная команда будет работать исключительно в дистрибутивах RHEL/CentOS/Fedora) и сравните вывод с выводом команды cat /etc/shells .

11. Какой параметр утилиты useradd позволяет установить имя домашней директории пользователя?

12. Как можно определить, заблокирован или разблокирован пароль пользователя serena ? Предложите решение на основе утилиты grep , а также решение на основе утилиты passwd .

Корректная процедура выполнения практического задания: пароли пользователей

1. Установите пароль hunter2 для пользователя serena .

2. Также установите пароль для пользователя venus , после чего заблокируйте учетную запись пользователя venus с помощью утилиты usermod . Проверьте наличие признаков блокировки в файле /etc/shadow до и после осуществления блокировки.

Обратите внимание на то, что в результате выполнения команды usermod -L перед хэшем пароля добавляется символ восклицательного знака.

3. Используйте команду passwd -d для деактивации пароля пользователя serena . Проверьте наличие строки для пользователя serena в файле /etc/shadow до и после осуществления деактивации.

4. Каковы различия между операцией блокировки пользовательской учетной записи и операцией деактивации пароля пользовательской учетной записи, которые мы только что осуществляли с помощью команд usermod -L и passwd -d ?

Блокировка предотвратит вход пользователя в систему с использованием установленного пароля благодаря добавлению символа ! перед хэшем пароля в файле /etc/shadow .

Деактивация с помощью утилиты passwd приведет к удалению хэша пароля из файла /etc/shadow .

5. Попытайтесь изменить пароль serena на пароль serena as serena.

Войдите в систему с именем пользователя serena , после чего выполните команду: passwd serena . Исполнение команды должно завершиться неудачей!

6. Сделайте так, чтобы пользователь serena был обязан изменять пароль через каждые 10 дней.

7. Сделайте так, чтобы каждый новый пользователь был обязан изменять свой пароль через каждые 10 дней.

8. Воспользуйтесь учетной записью пользователя root для создания резервной копии файла /etc/shadow . Используйте текстовый редактор vi для копирования хэша пароля hunter2 из строки пользователя venus в строку пользователя serena . Может ли после этого пользователь serena войти в систему с паролем hunter2 ?

9. В каких случаях следует использовать утилиту vipw вместо vi ? Какая проблема может возникнуть при использовании текстового редактора vi или vim для редактирования файла паролей?

Утилита vipw выведет предупреждение в том случае, если кто-либо еще в данный момент редактирует данный файл (с помощью утилиты vipw ).

10. Используйте команду chsh для вывода списка доступных командных оболочек (данная команда будет работать исключительно в дистрибутивах RHEL/CentOS/Fedora) и сравните вывод с выводом команды cat /etc/shells .

Читайте также:  Vpn для астра линукс

11. Какой параметр утилиты useradd позволяет установить имя домашней директории пользователя?

12. Как можно определить, заблокирован или разблокирован пароль пользователя serena ? Предложите решение на основе утилиты grep , а также решение на основе утилиты passwd .

Источник

Как: Сгенерировать Хэш Пароля в Linux и как узнать тип хэша

Сгенерировать Хэш Пароля в Linux

Linux хранить зашифрованные пароли пользователей, также как и другую информацию связанную с безопасностью, например сроки действия аккаунтов или паролей, в файле /etc/shadow .

Однажды у вас может возникнуть необходимость вручную отредактировать файл /etc/shadow для того, чтобы задать или изменить чей-то пароль.

В отличие от файла /etc/passwd , который могут читать все, файл /etc/shadow должен быть доступен для чтения ИСКЛЮЧИТЕЛЬНО пользователю ROOT.

Для этого вам придется сгенерировать хэш пароля в формате, который будет совмести с /etc/shadow .

Нет необходимости устанавливать дополнительные утилиты, так как это может быть легко сделано из командной строки в Linux с помощью Python.

Создать Хэш Пароля для /etc/shadow

Зашифрованные пароли в /etc/shadow хранятся в следующем формате:

$ID обозначает тип шифрования, $SALT — это случайная (до 16 символов) строка и $ENCRYPTED — хэш пароля.

Тип Хэша ID Длина Хэша
MD5 $1 22 символов
SHA-256 $5 43 символов
SHA-512 $6 86 символов

Используйте следующие команды из терминала в Linux для создания хэшированых паролей со случайной солью для /etc/shadow .

Создать MD5 Хэш пароля:

Создать SHA-256 Хэш пароля:

Создать SHA-512 Хэш пароля:

Надеюсь эти команды будут вам полезны.

Только не забудьте поменять MySecretPassword на ваш YourSecretPassword.

Как вы видите, это действительно очень легко генерировать хэши для /etc/shadow из командной строки в Linux с помощью Python.

В частности потому, что Python, по умолчанию, установлен в большинстве Linux дистрибутивах.

Узнать тип хэша

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

  • Длина ХЭШа (каждая хэш-функция имеет определенную выходную длину);
  • Используемый алфавит (есть ли английские буквы? числа 0-9 и A-F … возможно это hex? используются ли специальные символы?).

Step 1: Скачиваем последнюю версию (v1.1 на текущий момент)

Step 2: Запускаем скрипт и копируем интересующие нас ХЭШи

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

Источник

/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:

Generate SHA-256 password hash:

Generate SHA-512 password hash:

Hope these commands will be helpful.

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

Придумать одновременно красивый, сложный для взлома и легко запоминающийся пароль очень сложно. Например когда мне нужно ввести пароль для новой учетной записи, на ум приходят только элементарные или уже использованные варианты.

Но существуют так называемые генераторы паролей, способные создавать красивые и безопасные пароли по своим алгоритмам. В этой статье я опишу три, на мой взгляд, лучших генераторов паролей для операционной системы Linux.

Читайте также:  Очистка ускорение windows 10

Генераторы паролей для Linux

1. pwgen

pwgen создает безопасные пароли, которые в то же время очень легко запомнить. Легко запоминаемые пароли не будут так же безопасны как действительно случайные, но это приемлемый уровень риска для большинства случаев. Преимущество запоминающихся паролей очевидно — у вас не возникнет желание записать их или сохранить в электронном виде в небезопасном месте.

Утилита pwgen довольно популярная, поэтому есть в официальных репозиториях большинства дистрибутивов. Для установки в Ubuntu наберите:

sudo apt install pwgen

При запуске pwgen без параметров будет сгенерирован целый список паролей. Просто выберите понравившийся вариант, и очистите терминал чтобы никто не подсмотрел что вы выбрали. Для запуска наберите:

Как только выберете пароль используйте команду clear чтобы очистить вывод. Если вы уверены что никто не смотрит можно заставить программу генерировать только один пароль:

Для создания полностью случайного пароля используйте опцию -s:

Чтобы сделать пароль еще более безопасным можно использовать в нем один специальный символ, например восклицательный знак, кавычка, точка, плюс, минус, равно и т д. Для этого сеть опция -y:

Если вас не устраивает стандартная длина пароля, ее можно изменить опцией -n, генерация паролей linux длиной в десять символов:

Опция -0 — позволяет не использовать цифры, а опция -B — не использовать символы которые можно спутать при печати, например: L и 1, 0 и O.

2. makepasswd

Утилита makepasswd работает аналогично pwgen, однако она не пытается создать пароли которые легко запомнить. Все пароли генерируются случайным образом с акцентом на безопасность.

Для установки в Ubuntu откройте терминал и выполните:

sudo apt install makepasswd

Для создания одного пароля введите:

Для генерации пяти паролей, с минимальным количеством символов 10, наберите:

makepasswd —count 5 —minchars 10

Вы также можете указать символы для генерации пароля. Это может быть полезно при создании пин-кодов. Например для получения четырехзначного пин-кода используйте:

makepasswd —string 1234567890 —chars 4

3. PasswordMaker

Программа Passwordmaker немного отличается от двух предыдущих. Она позволяет сгенерировать пароль linux на основе URL. Первоначально это было расширение для популярных браузеров Internet Explorer и Firefox и т д. Пакет passwordmaker-cli устанавливает консольную версию программы:

sudo apt install passwordmaker-cli

Для генерации пароля нужно указать url и мастер пароль. Утилита на основе этих данных создает уникальный пароль. Например:

passwordmaker —url losst.ru

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

Всегда держите ваши пароли в надежном месте и не используйте очевидные варианты такие как password или qwerty.

Оцените статью:

Об авторе

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.

7 комментариев

Себе почти всегда делаю пароли в консоли. Преимущество в том, что для этого мне не нужны никакие пакеты:
echo «mypassword» | md5sum
Чем длиннее (8 символов и более) наш «mypassword», тем безысходнее становится время его вскрытия:)
Если же возникнет опасение, что некий суперхакер возьмется за очень дОООООлгий многопоточный брутфорс моей длинной сигнатуры, то можно повторно вставить (уже ее) вместо исходного «mypassword». Приблизительное время взлома уже такой сигнатуры увеличится тогда в_несколько_порядков. При этом, у нас в запасе всегда будет изначальный пред-пароль «mypassword», по которому в консоли элементарно восстановить свой окончательный пароль в случаях его потери или «забытия»:)
p.s.
При попытках хака MD5-сигнатур никогда не будет никакой гарантии получения взломщиком нашего исходного пароля. Дело в том, что алгоритм вычисления сигнатур MD5 односторонний, поэтому хакер сможет получить лишь некоторые_возможные_варианты_пароля и то, затратив на взлом месяцы/годы/века/тысячелетия, как ему повезет:)

Мысль хорошая, пожалуй, возьму на вооружение, т.к. буковки проще запоминать, а пароль из них можно и на смарте сгенерить 😉 вот только изменю чутка, чтоб пароли можно было в открытом виде хранить:
echo «mypassword» | sha512sum | md5sum
или echo «mypassword» | sha512sum | head -c 33 && echo » или .
Взломщику останется только украсть файл с открытой частью паролей и перебрать пару сотен/тысяч комбинаций за пару-тройку часов для каждого пароля 😀

Источник

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