使用VSFTPD允许的用户列表

根据这里的Wiki,您只能允许某些用户使用以下configuration通过FTPlogin/etc/vsftp.conf文件:

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

我configuration了我的系统来使用这个configuration,我只有一个用户,我想通过FTP命名streams公开,所以我的/etc/vsftp.user_list看起来像这样:

 streams 

有趣的是,一旦启用用户列表,我就无法login。 如果我将userlist_enable更改为NO ,则事情可以正常工作,但是如果启用它,则无法login,只会尝试重新连接。 我没有login失败的消息,它只是不断尝试使用lftp重新连接。

我的/etc/vsftp.conf文件在这里的 /etc/vsftp.user_list上可用,我的/etc/vsftp.user_list 在这里可用。

我在这里做错了什么? 我只想使streams用户能够login。

粗略一瞥不会显示任何configuration文件错误…问题可能在于其他地方。

您可能已经尝试过,但可能需要检查以下内容:

  • 请确保无论用户vsftpd在/etc/vsftp.user_list上具有适当的权限。 您没有使用nopriv_userconfiguration参数configuration您自己的非特权用户,但默认值为nobody。
  • 尝试注释chroot_local_users指令来查看chroot-ing是否有问题。
  • 进行更改后是否重新启动了vsftpd进程? 一个共同的Doh! 系统pipe理员的时刻对我来说是我做了configuration更改,但忘记了HUP的过程…(尴尬,是的,我知道)。
  • 尝试直接从命令行运行vsftpd,所以任何错误去STDERR。
  • 你configuration你的用户streams/bin/false作为loginshell? 尝试使用\bin\nologin代替。 \bin\false会阻止该用户login。
  • 作为最后的手段考虑使用PAM和虚拟用户 。

我可能会迟到,但我明白了这一点。 我在configuration我的时候遇到了这个问题。 取消注释configuration文件中的以下行:

#local_enable=YES *Change To* local_enable=YES