Я использую 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 пароля.