Со adduser(8)
страницы руководства :
-p, --password ПАРОЛЬ
Зашифрованный пароль, возвращаемый crypt (3).
Задание пароля в виде открытого текста не будет работать.
На основании документации здесь:
https://linux.die.net/man/8/adduser
Я пытаюсь создать нового пользователя с домашним каталогом по умолчанию в Ubuntu 17.10 и указать пароль:
useradd john -m -p mypassword
Пользователь создан просто отлично, но если я попытаюсь рядом с SSH к машине, используя нового пользователя с указанным паролем (mypassword), я получу:
$ ssh john@my-host john@my-host's password: Permission denied, please try again. john@my-host's password:
Так почему же он не работает с паролем, который я использовал при создании пользователя?
На основании приведенного ниже ответа useradd
требуется зашифрованный пароль. Из командной строки я могу сделать:
$ echo -n testpass | makepasswd --crypt-md5 --clearfrom - testpass $1$eaXbTWAK$8flrqGzhmtWPjzRcrxWBf/
Но как мне передать это useradd
, чтобы сделать все это в одной строке?
Со adduser(8)
страницы руководства :
-p, --password ПАРОЛЬ
Зашифрованный пароль, возвращаемый crypt (3).
Задание пароля в виде открытого текста не будет работать.
Вы можете объединить несколько команд, используя конструкцию $ (some-cm). Это заставит bash сначала вычислить скобки и использовать вместо них возвращаемое значение:
echo foo $(echo bar)
сначала будет оцениваться вторая команда, а затем будет оцениваться первая команда. Вы можете использовать это, чтобы сначала сгенерировать свой пароль, а затем ввести его в команду adduser.
Или вы используете команду цепочки: user=john; useradd -m $user && passwd $user
. Это все равно будет запрашивать у вас пароль.