пароль мультиплатформенного изменения

Мы пытаемся стандартизировать passwd для изменения наших паролей * nix. На linux это просто:

 printf "secret\nsecret\n" | passwd username 

Но FreeBSD переписала свою версию passwd для использования библиотеки pam . Система pam использует openpam_ttyconv для чтения пароля, который перескакивает через некоторые обручи, чтобы победить попытки администратора перенаправить stdin.

Если вы попробуете вышеупомянутый рецепт на FreeBSD, он все равно будет запрашивать tty и ждать интерактивного ответа. Если вы попытаетесь pam_chauthtok: conversation failure и перенаправить перенаправление stdin, вы получите pam_chauthtok: conversation failure

Я понимаю, что на FreeBSD мы можем использовать

 printf "secret\nsecret\n | pw usermod -n username -h0 

Но я надеялся (возможно, мечтать), что кто-то может знать трюк, чтобы заставить библиотеку pam принять перенаправление stdin?

2 Solutions collect form web for “пароль мультиплатформенного изменения”

Стандартный ответ на проблемы, связанные с интерактивным вводом паролей, заключается в том, что в этом случае следует использовать команду – passwd.

Вы можете использовать chpass для изменения пароля из скрипта на * BSD и аналогичной утилиты chpasswd в Linux. Оба позволяют вам установить «зашифрованный» пароль для учетной записи – фактически хэш пароля . Вы можете вызвать функцию crypt из скрипта Perl или Python для вычисления хэша (не забудьте выбрать хэш-функцию, случайную соль и хорошее количество итераций).

  • / sbin / nologin и / bin / false игнорируются в / etc / passwd как пользовательская оболочка
  • Условно разблокировать пароль, в файловой системе только для чтения
  • if statement user user id в etc / passwd?
  • печать awk из passwd, но только с идентификатором пользователя> 1000
  • passwd -S дает альтернативную схему аутентификации при использовании. и пароль в / etc / shadow не зашифрован
  • Что такое «Charlie &» в поле gecos на OpenBSD для root?
  • установить дату истечения срока действия учетной записи в будущем
  • Запретить изменение паролей
  • Изменение пароля пользователя через графическое приложение
  • Удаление пользователя samba: pbdedit vs. smbpasswd, какая разница?
  • Изменить пароль пользователя с помощью UID
  • Interesting Posts

    Какая информация находится в битах управления доступом таблицы страниц?

    вызов команды из скрипта и сохранение стиля

    lpadmin добавить сетевой принтер

    Unix – подсчет уникальных IP-адресов, сортировка их по частоте и сортировка по IP, когда количество повторений одинаково

    Как узнать, успешно ли завершена загрузка wget?

    Компиляция ядра с ограниченным дисковым пространством

    Список изменений chmod и chown

    PCM не влияет на громкость звука с помощью ALSA

    Как определить характеристики процессора на PowerPC и Power 8 (и выше)?

    Как проверить текущую политику планирования во встроенной Linux?

    Почему необходимо стереть первый MByte устройства OpenBSD CRYPTO?

    Работа crontab удалила мой файл в / tmp

    Извлечь IP-адрес из строки

    Как монтировать bzip2-ed изображение Clonezilla без использования дополнительного дискового пространства?

    Как отключить перенос строк в терминале?

    Linux и Unix - лучшая ОС в мире.