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

При написании скриптов на Bash для автоматизации создания нового пользователя Linux так, как например описано в → этой статье (с помощью команды useradd) не достаточно просто передать пароль в эту команду. Передаваемый пароль должен быть зашифрован. Иначе, при создании нового пользователя, значение его пароля будет сохранено «как есть», а при попытке входа этого пользователя в систему, пароль будет кодироваться. И пользователь не сможет залогиниться так как обычно закодированный вариант пароля и его вводимое значения не совпадают. В этой статье подробно рассмотрим, как передавать в систему закодированную версию пароля пользователя.

Старт! Честный VDS/VPS, на котором «Лунная База» живет уже 20+ лет

Задумываетесь о том, чтобы поднять свой pet-проект, сайт клиента или настроить окружение для разработки? Уже пора подумать, где арендовать железо.

Лунная База хостится на FirstVDS более 20 лет. Мыслей о том, чтобы перебраться на другой хостинг, не было ни разу (хотя опыт работы с другими вариантами, конечно, есть).

Бывали разные ситуации, но они бывают на любом железе. Главное, что нужно понять: здесь нет маркетинговой шелухи и сказок про «мы всё сделаем за вас». Если вы берете VDS — вам дают полный root, возможность накатить любую ОС и не лезут в ваши конфиги.

Если в саппорт написать с вопросом по вашему коду и получить ответ: «Читайте документацию и разбирайтесь сами» или «Обратитесь к профильному специалисту» — это не повод обижаться. Это повод углубить свои знания в DevOps и сайтостроении! Бегите от тех, кто пообещает: «Мы всё чиним и настраиваем абсолютно бесплатно!». Никто никогда не работает «по доброте душевной» в ущерб себе, а бесплатный сыр в администрировании обычно заканчивается сломанной базой данных.

Что по факту: Гибкое масштабирование ядер и RAM, экономия по сравнению с физическими серверами и адекватная панель ispmanager, если она вам нужна.



Какой пароль пользователя нужен для команды useradd в Линукс

Для начала разберёмся с тем, какой пароль пользователя нужен для команды useradd в Debian. Для этого, как было подробно рассмотрено в статье по ссылке во вступлении, посмотрим мануал этой команды и увидим, что опция -p, необходимая для передачи пароля, требует:

-p, --password PASSWORD       encrypted password of the new account

зашифрованного варианта ввода пароля.

Значит, то, что нужно передать в систему должно быть сначала зашифровано. Сразу покажу, как это сделать, а потом накидаю, куда смотреть, если понадобятся подробности.

Команда для шифрования пароля пользователя в Linux

Итак, зашифровать пользователь в том виде, в котором он требуется для правильной работы с авторизацией пользователей в Линукс, можно таким способом:

encpass=$(openssl passwd -crypt ТУТпароль)

В примере выше, зашифрованная версия пароля сохранится в переменной encpass.

Для шифрования используется функция openssl с параметрами passwd и -crypt, ну и, собственно, передаётся само значение пароля в не зашифрованном виде.

Подробное описание функции openssl можно прочитать в мануале, вызвав его man openssl.

Краткую подсказку по функции openssl можно получить, введя openssl help. При этом будет выдан список стандартных и прочих команд по управлению процессом шифрования.

Резюме

Более подробно рассматривать разные режимы шифрования, их алгоритмы, принципы передачи и хранения данных, мне пока не интересно. Самое главное — вопрос, как создавать пользователя, передавая значение его пароля в систему через переменную, рассмотрен, опробован и оказался работоспособен.

Самый честный хостинг за 20+ лет существования Лунной Базы

Задумываешься о том, чтобы поднять свой сайт в Интернете? Уже пора подумать о том, какой хостинг выбрать?

Лунная База хостится 20+ лет на firstDVS. При этом, мыслей о том, чтобы перебраться на другой хостинг не было. (Но, при этом есть опыт работы с другими вариантами.)

Бывали с firstDVS разные ситуации, но, они бывают на всех хостингах. Единственное, что тут важно понять, - это то, что никто ничего тебе не будет впаривать... Но, и работать за тебя тоже никто не станет. Если в саппорт ответили: «Читайте по ссылке и разбирайтесь сами...» или вообще «Обратитесь за помощью к специалисту», - это повод углубить свои знания в области сайтостроения, а не бежать к тем, что пообещают: «Мы всё чиним и всё делаем за своих клиентов абсолютно бесплатно!» Никто никогда ничего ни за кого "по доброте душевной" не делал, не делает и не будет делать!

Старт! Горячий старт на просторы интернета
Старт! Горячий старт на просторы интернета
Старт! Меню