chpasswd и openssl

Я пытаюсь передать пароль MD5 в chpasswd, но он не работает.

echo username:$(openssl passwd -1 -salt salt password) 

Затем я пытаюсь передать это chpasswd чтобы изменить пароль

 echo 'username:$1$salt$aldkjflsfj' | /usr/sbin/chpasswd -e 

Однако, когда я это делаю, изменение пароля не вступает в силу – обновляется /etc/shadow но если я пытаюсь использовать пароль, он не работает.

Это работает:

 echo username:password | /usr/sbin/chpasswd 

passwd также работает

Больше информации:

 $ S=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 5 | head -n 1) $ echo username:$(openssl passwd -1 -salt "$S" password) username:$1$nPkvS$eKljAIRsFLXOffXti.ZtO/ $ echo 'username:$1$nPkvS$eKljAIRsFLXOffXti.ZtO/' | chpasswd -e $ grep username /etc/shadow username:$1$nPkvS$eKljAIRsFLXOffXti.ZtO/:16722:0:99999:7::: 

One Solution collect form web for “chpasswd и openssl”

Аргументы должны быть указаны, иначе оболочка проверяет специальные символы внутри этих аргументов:

 echo "username:"$(openssl passwd -1 -salt "$salt" "$password") 

Используйте двойную кавычку здесь, чтобы оболочка оценивала переменные.

Теперь также нужно указать также echo команду:

 echo 'username:$1$salt$aldkjflsfj' | ... 

Используйте одиночные кавычки здесь, потому что $ -значения являются частью записи и должны сохраняться.


Предупреждение : я не рекомендую менять пароль следующим образом. Эти команды и, следовательно, простые пароли можно увидеть в списках ps и top например. openssl есть механизм для таких случаев, чтобы прочитать пароль из файла.

  • Что такое «Charlie &» в поле gecos на OpenBSD для root?
  • Может ли пользователь AIX, который появляется в etc / group, но не etc / passwd, все еще регистрируется на сервере?
  • Потерянный пароль для пользователя на сервере Linux: как его сбросить?
  • Редактирование файлов passwd, отличных от / etc / passwd
  • Пользователь без полномочий root не может изменять пароль Samba
  • if statement user user id в etc / passwd?
  • Отрицательный GID в / etc / passwd?
  • Физически переопределить учетные данные linux
  • Условно разблокировать пароль, в файловой системе только для чтения
  • печать awk из passwd, но только с идентификатором пользователя> 1000
  • show вводит новый пароль в команде unix "passwd"
  • Linux и Unix - лучшая ОС в мире.