Linux, bash. Передача пароля из переменной в useradd

Учебная задача, Нужно создать на Ubuntu server пользователя с заданным именем и паролем.

Как работает useradd в таком случае? Выполняю команду вида

sudo useradd -m -p $(openssl passwd 123) test

ожидаю получить пользователя test с паролем 123 команда выполняется без ошибок, но после этого я не могу попасть в этого пользователя с этим паролем!

нагуглил Можно ли создавать пользователя одновременно с вводом пароля из переменной и https://rus-linux.net/MyLDP/BOOKS/Linux_Foundations/27/ch27.html где подтверждается, что так оно должно работать, но у меня почему то не работает.

пробовал и так:

sudo useradd -m -p `openssl passwd 123` test05

аналогично, вход с 123 - не работает:

 su test05
Password:
$ 123
sh: 1: 123: not found

Ответы (1 шт):

Автор решения: User2025
enc_pass=$(mkpasswd -m yescrypt $pass)
useradd -s /bin/bash -m -p $enc_pass $user
→ Ссылка