vsftpd: 530 登录不正确

Flo*_*ian 68 server ftp

我无法vsfptd在 Ubuntu 12.04 上工作。

我的vsftpd.conf文件看起来像这样,我尝试与本地用户连接:

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
Run Code Online (Sandbox Code Playgroud)

FileZilla 中的错误消息:

Response:   331 Please specify the password.
Command:    PASS ****
Response:   530 Login incorrect.
Run Code Online (Sandbox Code Playgroud)

Azk*_*erM 124

在进行更改之前备份配置文件;

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.back
Run Code Online (Sandbox Code Playgroud)

然后编辑vsftpd.conf(使用 vi 或 nano)

nano /etc/vsftpd.conf
Run Code Online (Sandbox Code Playgroud)

然后进行以下更改

pam_service_name= ftp

保存更改并重新启动 ftp 服务器(如果您使用 nano hit CTRL+ O& enter 保存然后CTRL+X退出)

sudo service vsftpd restart
Run Code Online (Sandbox Code Playgroud)

来源: VSFTPD 12.04 配置问题

  • 您正在通过 PAM 禁用默认访问控制,因为默认的“ftp”没有规则。默认的`pam_service_name=vsftp` 使用文件`/etc/pam.d/vsftpd`。默认情况下,该文件要求 FTP 用户在 `/etc/shells` 中列出一个 shell,并且要求他们**不**在 `/etc/ftpusers` 中列出。 (17认同)
  • 这个问题也可以通过这个答案在 debian7 中解决。 (3认同)
  • @JeroenVermeulenBVBA +1 你是对的。我担心有些人只是不知道下面实际发生了什么以及为什么它看起来“有效”。 (3认同)

Jer*_*ost 16

默认情况下,vsFTPd 使用文件/etc/pam.d/vsftpd. 该文件默认情况下需要FTP用户有上市的壳/etc/shells,并要求他们向上市/etc/ftpusers。如果您检查这 2 件事,您可能会发现问题所在。

  • 除了直接编辑`passwd`文件,你可以使用`usermod -s /bin/bash YOUR_USERNAME` (2认同)

小智 7

我不需要更改vsftpd.conf. 只需要确保在我的/etc/passwd文件中设置了一个 shell ,它也在/etc/shells.

所以基本上在useradd没有 shell 之后,我需要确保创建了主目录并且用户拥有/bin/bash它作为 shell。


小智 5

当我尝试登录时遇到了这个问题root,我刚刚解决了它。

vsftpd: version 3.0.2
Run Code Online (Sandbox Code Playgroud)

解决方案:

检查以下文件(它包含不允许 FTP 访问的用户列表):

/etc/ftpusers 
Run Code Online (Sandbox Code Playgroud)

用户

就我而言,我root从文件中注释掉了,然后它就起作用了。