The ftpasswd
utility that accompanies ProFTPD generates password hashes that are acceptable to the underlying C library's crypt(3)
function. So it is not ProFTPD, per se, that is using MD5 password hashes (or DES, or anything else); it is ProFTPD using the crypt(3)
function.
On other Unix/Linux flavors, the crypt(3)
function can support different hashing algorithms (e.g. DES, MD5, Blowfish, even SHA-256/SHA-512), identified by the first parts of the generated hash. Thus a prefix of "$1$..."
might indicate a DES hashed value, "$2$...
for MD5, etc. However, not every Unix variant supports this syntax; it looks like the MacOSX crypt(3)
function does not.
The ftpasswd
calls crypt(3)
, and examines the returned hash value. If the --md5
command-line option was used (thus requesting MD5 hash values), and the returned hash value does not begin with "$2$..."
, then ftpasswd
indicates that the platform does not support MD5 hashed passwords. Adding such support involves the C library and perhaps other fundamental libraries; it is thus not an easy task.
Alternatives including using a SQL database for your user database (via the mod_sql
module); the mod_sql_passwd
module of ProFTPD allows for quite a range of password hashing algorithms/functions.
Also, you probably should not be using a default password in your proftpd.conf
; such things can all too easily leak out. I'd strongly recommend that you use something like mod_sql
, or even a separate AuthUserFile
, or something else.
Hope this helps!
Full disclaimer: I'm the author of ProFTPD, and the mod_sql_passwd
module.