mod_sql_mysql
バックエンドを使用するように ProFTPD をセットアップしました。ユーザーを SQL データベースに挿入するまで、すべてが正常に機能します。そのために次のクエリを使用しました。
INSERT INTO `auth`.`users` (`userid`, `passwd`, `uid`, `gid`, `homedir`, `shell`)
VALUES ('username', ENCRYPT('bluefish'), '999', '999', '/dev/zero', '/bin/laden');
"bluefish"
アカウントに問題なくログインできますが、ソルトが提供されていない場合、MySQL はランダムなソルトを使用するため、ProFTPD が暗号化されたパスワードを読み取る方法が本当にわかりません。ENCRYPT('bluefish')
これにより、 ProFTPD が MySQL バックエンドを使用してパスワードがデータベース内の 1 つのエントリと一致するかどうかを確認するたびに、異なる出力が得られるはずです。
しかし、それはうまく機能します。ProFTPD はどのソルトが使用されたかをどのように知ることができますか?