仮想ユーザーに対して「530 ログインが正しくありません」というメッセージが表示され続ける

仮想ユーザーに対して「530 ログインが正しくありません」というメッセージが表示され続ける

ドキュメントとインターネット上の情報に従ってインストールしlibpam-pwdfile、構成は次のとおりです。

# /etc/vsftpd.conf
listen_ipv6=YES
listen_port=<port>
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
chroot_local_user=YES
allow_writeable_chroot=YES
guest_enable=YES
guest_username=vsftpd
nopriv_user=vsftpd
hide_ids=YES
virtual_use_local_privs=YES
user_sub_token=$USER
local_root=/home/vsftpd/$USER
pam_service_name=vsftpd
utf8_filesystem=YES

そして

# /etc/pam.d/vsftpd
auth required pam_pwdfile.so pwdfile /etc/vsftpd.passwd
account required pam_permit.so

そして

$ useradd --home /home/vsftpd --gid <group> -m --shell /bin/false vsftpd
$ htpasswd -c -b /etc/vsftpd.passwd <virtual user> $(openssl passwd -1 -noverify <password>)

しかし、FTPに接続すると<virtual user>:<password>、常に

USER <virtual user>
530 Login incorrect.

それで、何が足りないのでしょうか?

アップデートdb_load: vsftpd が db (およびpam_userdb.so) を使用するように設定されていても、passwd ファイルを使用するように設定されていない場合は、正常にログインできます。

答え1

-p呼び出すときにオプションが欠けていると思いますhtpasswd

これは動作するはずです:

htpasswd -c -p -b /etc/vsftpd.passwd <virtual user> $(openssl passwd -1 -noverify <password>)

参考までにこちらを参照してください:vsftpdはMD5で暗号化されたパスワードを受け入れません

関連情報