O utilitário ftpasswd que acompanha o ProFTPD gera hashes de senha que são aceitáveis para a função crypt(3) da biblioteca C subjacente. Portanto, não é o ProFTPD, per se , que está usando hashes de senha MD5 (ou DES, ou qualquer outra coisa); é o ProFTPD usando a função crypt(3) .
Em outros tipos de Unix / Linux, a função crypt(3) pode suportar diferentes algoritmos de hash (por exemplo, DES, MD5, Blowfish, até SHA-256 / SHA-512 ), identificados pelas primeiras partes do hash gerado. Portanto, um prefixo de "$1$..." pode indicar um valor de hash DES, "$2$... para MD5, etc . No entanto , nem toda variante Unix suporta esta sintaxe; Parece que a função MacOSX crypt(3) não .
O ftpasswd chama crypt(3) e examina o valor de hash retornado. Se a opção de linha de comando --md5 foi usada (solicitando assim valores de hash MD5), e o valor de hash retornado não começa com "$2$..." , então ftpasswd indica que a plataforma não oferece suporte Senhas criptografadas MD5. Adicionar esse suporte envolve a biblioteca C e talvez outras bibliotecas fundamentais; não é, portanto, uma tarefa fácil.
Alternativas, incluindo o uso de um banco de dados SQL para o banco de dados do usuário (por meio do módulo mod_sql ); o módulo mod_sql_passwd do ProFTPD permite uma grande variedade de algoritmos / funções de hash de senhas.
Além disso, você provavelmente deve não estar usando uma senha padrão no seu proftpd.conf ; essas coisas podem facilmente vazar. Eu recomendo strongmente que você use algo como mod_sql , ou mesmo um AuthUserFile separado, ou qualquer outra coisa.
Espero que isso ajude!
Aviso completo: Eu sou o autor do ProFTPD, e o módulo mod_sql_passwd .