1

Я использую Debian 8 и когда я вхожу в терминал:

sudo useradd -p pass test

Затем я вижу это в /etc/passwd:

test:x:1001:1001::/home/test:/bin/sh

Все же это происходит:

su test
Password: 
su: Authentication failure

Я схожу с ума?

1 ответ1

1

Опция -p useradd не используется для установки открытого текста пароля. С -p вы напрямую устанавливаете, что будет храниться в /etc/shadow . Чтобы установить пароль в командной строке таким образом, вам сначала нужно сгенерировать хеш, а затем передать его утилите useradd .

Пример:

Сгенерируйте хэш bar пароля, заполненной строкой foo с помощью программы openssl:

openssl passwd -1 -salt foo bar

это даст строку $1$foo$te5SBM.7C25fFDu6bIRbX1 . Если вы передадите его в useradd (будьте осторожны, добавляя одинарные кавычки, чтобы он не расширялся до переменных!):

useradd -p '$1$foo$te5SBM.7C25fFDu6bIRbX1' test

Вы должны быть в состоянии войти в test с bar пароля.

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