Я использую 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 отображается в командной строке. Как сделать его невидимым в приведенной выше команде?
От 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
Попробуйте добавить аргумент после каждой опции, которую вы хотите использовать. Например:
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, которые требуют более сложного пароля.
Вы можете использовать perl
, чтобы распечатать зашифрованный пароль и использовать его с опцией -p
в useradd
команда.
$ sudo useradd -m -p $(perl -e 'print crypt($ARGV[0], "password")' 'YOUR_PASSWORD') username
Вы также можете использовать ее с другими параметрами, такими как -s
для Shell или -d
для домашнего каталога.