пароль не работает с useradd -p

Я использую Ubuntu 14.04 LTS. Я выполнил следующую команду, чтобы создать пользователя

$sudo useradd -m -p password1 guest_user

, а затем попытался переключиться на пользователя с помощью

$su guest_user

, но не смог войти с паролем1

Am. я что-то упустил? Предполагаю ли я войти в систему с паролем1 или чем-то еще, как указано в опции man на странице руководства для useradd

 -p, --password PASSWORD
           The encrypted password, as returned by crypt(3). The default is to disable the password.

           Note: This option is not recommended because the password (or encrypted password) will be
           visible by users listing the processes.

           You should make sure the password respects the system's password policy.

Выше меня смущает, потому что когда я набираю команду

useradd -m - p пароль1

пароль пароль1 отображается в командной строке. Как сделать его невидимым в приведенной выше команде?

11
задан 1 September 2015 в 17:40

3 ответа

От man useradd :

-p, --password PASSWORD
           The encrypted password, as returned by crypt(3). The default is to disable the password.

Как видите, ПАРОЛЬ с параметром -p является зашифрованный пароль, возвращаемый библиотечной функцией crypt (3) .

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

] Решение состоит в том, чтобы использовать здесь зашифрованный пароль с -p , что является небезопасным , вы должны установить пароль в интерактивном режиме.

Например, сначала создайте suer:

sudo useradd -m -s /bin/bash guest_user

Теперь установите пароль:

sudo passwd guest_user

Или лучше используйте вместо него adduser :

sudo adduser --gecos '' guest_user
10
ответ дан 2 September 2015 в 03:40
  • 1
    Снова I' ve выполняют переустанавливание, работы для меня, на данный момент. We' ll видят сколько времени для все же. – seanlano 23 November 2016 в 01:35

Попробуйте добавить аргумент после каждой опции, которую вы хотите использовать. Например:

    useradd -m guest_user -p passwd1

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

    sudo useradd -m guest_user

, а затем:

    sudo passwd guest_user

Два предостережения:

  • строка, которая начинается с: NAME_REGEX = в: /etc/adduser.conf, может запрещать использование символа подчеркивания "_" для имен пользователей. ;

  • могут быть требования к сложности пароля, установленные в: /etc/pam.d/common-password, которые требуют более сложного пароля.

2
ответ дан 2 September 2015 в 03:40
  • 1
    I' ve отметил его как влияние на меня, потому что иногда это делает. Однако я думаю, что наши проблемы немного отличаются как иногда, мне перечислили выводы. Право не мои динамики перечислены, и три вывода HDMI перечислены, но никакой звук не производится. – Jamal Moir 23 November 2016 в 01:45

Вы можете использовать perl , чтобы распечатать зашифрованный пароль и использовать его с опцией -p в useradd команда.

$ sudo useradd -m -p $(perl -e 'print crypt($ARGV[0], "password")' 'YOUR_PASSWORD') username

Вы также можете использовать ее с другими параметрами, такими как -s для Shell или -d для домашнего каталога.

2
ответ дан 5 January 2021 в 22:49

Другие вопросы по тегам:

Похожие вопросы: