使用 VSFTPD 的允许用户列表

使用 VSFTPD 的允许用户列表

根据维基百科这里,您可以使用文件中的以下配置仅允许某些用户通过 FTP 登录/etc/vsftp.conf

userlist_enable=YES
userlist_file=/etc/vsftp.user_list
userlist_deny=NO

我已将我的系统配置为使用此配置,并且我只希望通过名为 的 FTP 公开一个用户streams,因此我的/etc/vsftp.user_list外观如下:

streams

有趣的是,一旦启用用户列表,我就无法登录。如果我更改userlist_enableNO,则一切正常,但如果启用它,我根本无法登录,它只是不断尝试重新连接。我没有收到登录失败消息,它只是在使用时不断尝试重新连接lftp

我的/etc/vsftp.conf文件可以在 Pastebin 上找到这里并且我的/etc/vsftp.user_list可用这里

我在这里做错了什么?我只是想让streams用户能够登录。

答案1

粗略地看一下,并没有发现您的配置文件有什么问题......问题可能出在其他地方。

您可能已经尝试过此操作,但可能值得检查以下内容:

  • 确保以 vsftpd 身份运行的用户具有适当的权限/etc/vsftp.user_list。您没有使用该nopriv_user指令配置自己的非特权用户,但默认值为 nobody。
  • 尝试注释掉该chroot_local_users指令以查看 chroot 是否存在问题。
  • 你在进行更改后是否重新启动了 vsftpd 进程?一个常见的哎呀!对我来说,系统管理员的时刻是我进行了配置更改,但忘记对进程进行 HUP...(令人尴尬,是的,我知道)。
  • 尝试直接从命令行运行 vsftpd,这样任何错误都会转到 STDERR。
  • 您是否已将用户配置streams/bin/false登录 shell?请尝试使用/bin/nologin/bin/false这将完全阻止该用户登录。
  • 作为最后的手段,考虑使用PAM 和虚拟用户

答案2

我可能来晚了,但我已经解决了这个问题。我在配置时遇到了这个问题。取消注释配置文件中的以下行:

#local_enable=YES *Change To* local_enable=YES

相关内容