1

На основании документации здесь:

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 , чтобы сделать все это в одной строке?

2 ответа2

3

Со страницы руководства adduser(8) :

-p, --password ПАРОЛЬ

Зашифрованный пароль, возвращаемый crypt(3).

Задание пароля в виде открытого текста не будет работать.

0

Вы можете объединить несколько команд, используя конструкцию $(some-cm). Это заставит bash сначала вычислить скобки и использовать вместо них возвращаемое значение:

echo foo $(echo bar)

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

Или вы используете цепочку команд:user=john; useradd -m $user && passwd $user . Это все равно будет запрашивать у вас пароль.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .