Я использую Debian 8 и когда я вхожу в терминал:
sudo useradd -p pass test
Затем я вижу это в /etc/passwd
:
test:x:1001:1001::/home/test:/bin/sh
Все же это происходит:
su test
Password:
su: Authentication failure
Я схожу с ума?
Я использую Debian 8 и когда я вхожу в терминал:
sudo useradd -p pass test
Затем я вижу это в /etc/passwd
:
test:x:1001:1001::/home/test:/bin/sh
Все же это происходит:
su test
Password:
su: Authentication failure
Я схожу с ума?
Опция -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
пароля.