在 VSFTPD 中使用允许的用户列表

Naf*_*Kay 7 linux ftp vsftpd

根据此处的 Wiki ,您只能允许某些用户使用/etc/vsftp.conf文件中的以下配置通过 FTP 登录:

userlist_enable=YES
userlist_file=/etc/vsftp.user_list
userlist_deny=NO
Run Code Online (Sandbox Code Playgroud)

我已经将我的系统配置为使用此配置,并且我只有一个用户想要通过 FTP 公开streams,因此我/etc/vsftp.user_list看起来像这样:

streams
Run Code Online (Sandbox Code Playgroud)

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

我的/etc/vsftp.conf文件位于引擎收录在这里/etc/vsftp.user_list可以在这里

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

小智 3

粗略地看一下,您的配置文件没有任何问题......问题可能出在其他地方。

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

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