Как кто-то должен создать зашифрованный пароль для /etc/shadow?

Я настраиваю новую учетную запись в окне Linux для доступа к хранилищу Subversion и могу отправить пароль новому пользователю. Тем не менее, я думаю, что для этого нового пользователя была утилита командной строки, которая шифрует пароль, который ему нравится, в формате, который я могу скопировать / вставить непосредственно в файл / etc / shadow.

Какова была полная команда, которую этот новый пользователь должен запустить на консоли (например, Bash), чтобы создать такой зашифрованный пароль?

ОБНОВЛЕНИЕ: пользователю не будет разрешено войти в систему на компьютере, а учетная запись будет просто использоваться для доступа svn+ssh://. Следовательно, пользователь не может изменить это сам.

6 ответов

Пользователь может выполнить на своем компьютере что-то вроде:

echo "password"|openssl passwd -1 -stdin

а затем вышлю вам вывод.

Формат пароля в тени может варьироваться. Вы можете установить его как MD5 или старый добрый DES3 или... Вы хорошо отправляете своему пользователю пароль и заставляете его изменить его при первом входе в систему (# chage -d 0 username)

Вместо того, чтобы они шифровали пароль и отправляли его вам, почему бы просто не сказать им набрать:

passwd

Он будет делать все, что вы хотите с дополнительным преимуществом, что они могут менять свои пароли без дополнительной работы для вас.

РЕДАКТИРОВАТЬ: Согласно этому, якобы есть команда под названием makepassword, которую вы можете получить для Debian/Ubuntu.

Почему бы не SU для пользователя и запустить passwd?

Есть ли способ генерировать эти пароли через командную строку? Да, с пакетом debian makepasswd (но только для MD5):

echo "mypasswd" | makepasswd --crypt-md5
$1$r2elYKyB$vUr/Ph.brKTldM2h2k8J5.

Но это не будет работать через копирование и вставку в /etc/shadow. Чтобы изменить пароль через скрипт в некоторых дистрибутивах Linux, вы можете использовать:

echo oracle:mypasswd | chpasswd

или же

echo -n mypasswd | passwd --stdin oracle

/etc/passwd и / etc / shadow очень легко разбить на токены обычными инструментами командной строки (например, grep, awk, sed, tr и т. д.).

Интересным становится поле хэша действительного пароля в / etc / shadow, его префикс сообщает вам, как был зашифрован пароль. От человека (5) тень:

The password field must be filled. The encrypted password consists of 13 to 24 characters from the 64 characters alphabet a thru z, A
thru Z, 0 thru 9, \. and /. Optionally it can start with a "$" character. This means the encrypted password was generated using another
(not DES) algorithm. For example if it starts with "$1$" it means the MD5-based algorithm was used.

То, как он был зашифрован, во многом зависит от того, сколько лет установленной ОС. Важно обратить особое внимание на второе поле в / etc / shadow.

Вы должны приложить все усилия, чтобы следовать любому хешу, который использует система, будь то DES, MD5 и т. Д., Поскольку его так легко обнаружить.

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