4

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で取得する必要があるのですが、何か方法はありますか?

助けてくれてありがとう、

4

2 に答える 2

2

道はない。crypt=crypt(他のオプションは拒否されます)と言うべきですが、少なくとも、この修正mod_userdbが含まれるバージョンの PAM を入手するまでは、非 DES ハッシュを受け入れません(Ubuntu Saucy はそうではありません)。

たとえば、私は自分の PAM をコンパイルして、その修正を行いました。

于 2013-10-01T20:51:51.737 に答える
1

これは修正されました。Debian Jessie のバージョン 1.1.8-3 の libpam-modules も修正されたようです。

行を挿入するには、db5.3-util などを使用します。

{ echo user; echo hash; } | db5.3_load -T -t hash /tmp/passwd.db

crypt-valid strong を生成するにはhash:

echo pass|mkpasswd -s -m sha-512

pamsterと同様に、この pam モジュールの「debug」オプションは便利です (/var/log/auth.log を確認してください) 。

于 2016-03-06T03:36:17.103 に答える