Berkeley DB を使用して、一部の仮想ユーザーで vsftpd をインストールしようとしています。私は主にこのガイドに従っています: http://www.neant.ro/2012/04/secure-ftp-with-vsftpd/ . すべて正常に動作しますが、データベース内でパスワードをハッシュしたいと考えています。glibc 2.12 で CentOS 6.3 を使用しています。
pam_userdb.so のマンページから、crypt が提供するものを使用できると思います。crypt(3) マンページを見ると、SHA-256 と SHA-512 を使用できます。私はそれらの1つを使用したいと思います。
私の疑問は、それを実装する方法です。私が知っていることから、pam.dファイルに移動し、引数cryptを編集して追加する必要がありますが...どの値を指定すればよいですか? SHA-256 の場合は 5? SHA-512 の場合は 6 ?
auth sufficient pam_userdb.so db=/path/to/db/virtual-users crypt=?
account sufficient pam_userdb.so db=/path/to/db/virtual-users crypt=?
session sufficient pam_loginuid.so
ここで、データベース内の SHA-256/SHA-512 のパスワードが必要です。ハッシュを取得する正しい方法はどれですか? crypt関数を使用する必要があると思います。ただ、Rubyで取得する必要があるのですが、何か方法はありますか?
助けてくれてありがとう、