vsftpd で仮想ユーザー アカウントを使用してログインできないのはなぜですか?

vsftpd で仮想ユーザー アカウントを使用してログインできないのはなぜですか?

仮想ユーザーと pam_pwdfile.so で vsftpd を使用したいと思います。vsftpd をインストールし、htpasswd 経由で 2 人のユーザー (ramon と dragon) をファイル /etc/vsftpd.passwd に追加しました。/etc/pam.d/vsftpd はこのファイルを使用するように設定されています。

auth  required        pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
auth    required pam_pwdfile.so pwdfile /etc/vsftpd.passwd
account required pam_permit.so

@include common-account
@include common-session

ユーザー「ramon」は にも利用可能です/etc/passwd。ユーザー「ramon」で ftp にログインすると期待通りに動作します。しかし、「dragon」を使用したログインは動作しません :/ 結果は常に

Login failed: 530 Login incorrect.

間違いを犯した可能性もあるので、 に記載されている方法を正確に試しました/usr/share/doc/vsftpd/examples/VIRTUAL_USERS/README。それでもうまくいきません。ユーザー「ramon」ではログインできますが、ユーザー「dragon」ではログインできません。

何か案は?

答え1

私も同じ問題を抱えていましたが、このスレッド助けました。

どうやら vsftpd は MD5 ハッシュに問題があるようです。htpasswd に crypt() (-d オプション) を使用するように指示したところ、突然動作するようになりました。

sudo htpasswd -c -d -b /etc/ftpd.passwd twilight sparkle

答え2

以下を使用して設定します。

http://en.gentoo-wiki.com/wiki/Vsftpd#b.29_pam_pwdファイル

これを自分のセットアップで試してみましたが、期待どおりに動作しています。

答え3

htpasswd に -d オプションを追加すると、私の Rackspace / Ubuntu セットアップで機能しましたhtpasswd -c -d passwd username

答え4

インストール:

apt install vsftpd libpam-pwdfile

ユーザーの作成:

useradd -N -s /bin/false -d /home/vsftpd vsftpd

ファイルの編集/作成:

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

# /etc/vsftpd.conf
listen=YES
#listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
xferlog_enable=YES
nopriv_user=vsftpd
chroot_local_user=YES
pam_service_name=vsftpd
utf8_filesystem=YES
hide_ids=YES
user_config_dir=/etc/vsftpd_user_conf
guest_enable=YES
virtual_use_local_privs=YES
pam_service_name=vsftpd
guest_username=vsftpd

# /etc/vsftpd/ftpd.passwd
# user names without passwords
# user name 'upload' has a password.
# if real password is 'MyPassword' then hash created with command:
# openssl passwd MyPassword
programming:
videos:
documents:
furnitures:
sound:
engineer:
games:
programs:
shits:
upload:X7nyBRuyuJVyg

# /etc/vsftpd_user_conf/documents
local_root=/media/nas/Έγγραφα

# /etc/vsftpd_user_conf/engineer
local_root=/media/nas/Μηχανικός
hide_file={/_unsorted_,/personal}

# /etc/vsftpd_user_conf/upload
local_root=/media/nas/downloads/FTP upload
download_enable=NO
write_enable=YES
allow_writeable_chroot=YES

関連情報