为什么 vsftpd 不允许我使用虚拟用户帐户登录?

Ram*_*mon 7 vsftpd pam

我想将 vsftpd 与虚拟用户和 pam_pwdfile.so 一起使用。我安装了 vsftpd 并通过 htpasswd 添加了两个用户(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
Run Code Online (Sandbox Code Playgroud)

用户“ramon”也可以在/etc/passwd. 使用用户“ramon”登录到 ftp 可以正常工作。但是使用“dragon”登录不会:/结果总是

Login failed: 530 Login incorrect.
Run Code Online (Sandbox Code Playgroud)

由于我可能犯了一个错误,因此我尝试了/usr/share/doc/vsftpd/examples/VIRTUAL_USERS/README. 仍然没有运气。我可以使用用户“ramon”登录,但不能使用用户“dragon”登录。

有任何想法吗?

小智 6

我有同样的问题,但这个线程有帮助。

显然 vsftpd 存在 MD5 哈希问题。当我指示 htpasswd 使用 crypt()(-d 选项)时,它突然起作用了:

sudo htpasswd -c -d -b /etc/ftpd.passwd twilight sparkle
Run Code Online (Sandbox Code Playgroud)


小智 0

使用下面进行配置。

http://en.gentoo-wiki.com/wiki/Vsftpd#b.29_pam_pwdfile

我已经在我的设置中尝试过此操作并且它按预期工作。