所以我今天将我的 Ubuntu Server 升级到 12.04 LTS,现在 VSFTPD 无法工作。我认为这与此有关VSFTPd 在更新后停止工作
但是,与该帖子中的提问者不同,我没有收到任何错误消息。当我登录时,我收到
220 (vsFTPd 2.3.5)
331 Please specify the password.
Password:
530 Login incorrect.
ftp: Login failed
我知道密码是正确的,并且我尝试了多个用户。vsftpd.log 除了显示以下内容外没有显示其他内容:
Tue May 1 15:19:48 2012 [pid 2] CONNECT: Client "192.168.1.133"
Tue May 1 15:19:53 2012 [pid 1] [USERNAME] FAIL LOGIN: Client "192.168.1.133"
Syslog 没有显示任何内容。这是我的 VSFTPD.conf(大部分是默认的):
listen=YES
anonymous_enable=NO
local_enable=YES
check_shell=NO
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
我尝试了上一个问题中提到的命令,但没有成功。
sudo chmod a-w /home/user
谢谢,我感谢您所有的帮助!
答案1
在 vsftpd.conf 中
进行以下更改:pam_service_name=FTP
保存更改并重新启动 ftp 服务器。
答案2
您可能遇到此原因的原因有多种。
防火墙-->>Tcp_wrapper-->>PAM-->>SElinux-->>FTPService-->>文件。
首先检查 /etc/vsftpd/ftpusers /etc/vsftpd/user_list 中给定的用户是否被阻止
检查 SElinux 上下文或布尔值是否相同。
检查 PAM 目录文件。/etc/pam.d/vsftpd
身份验证需要 pam_shells.so
如果用户没有像 /etc/shells 中那样所需的 shell,那么它将给出相同的错误,检查 getent passwd 用户名是否与 /etc/shells 中给定的 shell 匹配。
答案3
首先尝试通过 Firefox 或浏览器登录 FTP,这样您肯定会得到有关无法登录原因的答复。
这只是为了确认它是否是登录凭据本身。
答案4
如果运行 amd64 内核,则需要将以下内容添加到/etc/vsftpd/vsftpd.conf
seccomp_sandbox=NO