Назад | Перейти на главную страницу

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

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

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

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

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

echo "password"|openssl passwd -1 -stdin

а затем отправим вам результат.

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

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

passwd

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

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

/ 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 и т. Д., Поскольку его так легко обнаружить.

Почему бы не перейти к пользователю с помощью 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