Утилита ftpasswd которая сопровождает ProFTPD, генерирует хэши паролей, которые приемлемы для функции crypt(3) базовой библиотеки C. Так что не ProFTPD, по сути, использует хеши паролей MD5 (или DES, или что-то еще); это ProFTPD, использующий функцию crypt(3) .
В других версиях Unix/Linux функция crypt(3) может поддерживать различные алгоритмы хеширования (например, DES, MD5, Blowfish, даже SHA-256/SHA-512), идентифицируемые первыми частями сгенерированного хэша. Таким образом, префикс "$1$..." может указывать хэшированное значение DES, "$2$... для MD5 и т. Д.». Однако не каждый вариант Unix поддерживает этот синтаксис; похоже, что функция MacOSX crypt(3) этого не делает.
ftpasswd вызывает crypt(3) и проверяет возвращаемое значение хеша. Если был использован параметр командной строки --md5 (таким образом запрашивались значения хеш-функции MD5), и возвращаемое значение хеш-функции не начинается с "$2$..." , то ftpasswd указывает, что платформа не поддерживает хешированные пароли MD5. Добавление такой поддержки включает библиотеку C и, возможно, другие фундаментальные библиотеки; таким образом, это не простая задача.
Альтернативы, включая использование базы данных SQL для вашей пользовательской базы данных (через модуль mod_sql ); модуль mod_sql_passwd в ProFTPD позволяет использовать целый ряд алгоритмов / функций хеширования паролей.
Кроме того, вам, вероятно, не следует использовать пароль по умолчанию в вашем proftpd.conf ; такие вещи могут слишком легко вытечь. Я настоятельно рекомендую вам использовать что-то вроде mod_sql , или даже отдельный AuthUserFile , или что-то еще.
Надеюсь это поможет!
Полный отказ от ответственности: я являюсь автором ProFTPD и модуля mod_sql_passwd .