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 есть механизм для таких случаев, чтобы прочитать пароль из файла.

  • Есть ли обратная совместимость опции -p (--path) в командах пользователя / группы?
  • Управление (добавление / удаление и т. Д.) Пользователей в squashfs (файловая система RO) с небольшим R / W-разделом
  • пароль мультиплатформенного изменения
  • печать awk из passwd, но только с идентификатором пользователя> 1000
  • Каталог для файла с паролем Luks key
  • Почему изменение пароля root не требует старого пароля
  • Отрицательный GID в / etc / passwd?
  • в чем смысл «-» в имени файла?
  • Не удалось войти в учетную запись любого пользователя в новой установке Arch Linux
  • Редактирование файлов passwd, отличных от / etc / passwd
  • Невозможно изменить пароль linux
  • Как напечатать уникальное имя в UNIX с помощью команды
  • Linux и Unix - лучшая ОС в мире.