VSFTPD 12.04的配置问题


13

所以我今天将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

谢谢,谢谢您的帮助!

Answers:


22

在vsftpd.conf中

进行以下更改:pam_service_name = ftp

保存更改并重新启动ftp服务器。


非常感谢!您不敢相信这有多痛苦!
克里斯·爱德华兹

5
想详细说明您的解决方案吗?
2015年

我在哪里可以找到的vsftpd.conf ..
奥利弗·狄克逊

这解决了我的问题!WTF。为什么这不是默认服务名称,嗯?什么是PAM服务?
危险89年

最终给了我500 OOPS:priv_sock_get_result登录失败。421服务不可用,远程服务器已关闭连接
Ascherer

1

有几个原因可以使您得到这个原因。

防火墙->> Tcp_wrapper->> PAM->> SElinux->> FTPService->>文件。

  1. 首先检查/ etc / vsftpd / ftpusers中的给定用户是否被阻止/ etc / vsftpd / user_list

  2. 检查SElinux上下文或布尔值是否相同。

  3. 检入PAM目录文件。/etc/pam.d/vsftpd

需要验证pam_shells.so

如果用户没有像/ etc / shells中那样需要shell,那么它将给出相同的错误检查getent passwd用户名是否与给定的shell与/ etc / shells相匹配。


0

尝试首先通过firefox或浏览器登录FTP,这样就可以确保得到响应,说明您无法登录的原因。

这只是为了确认是否为登录凭据本身的一种预防措施。


0

看来,vsftp的当前pam配置包括具有有效shell的要求,如果要使用FTP用户,则需要避免这些事情。

# Standard behaviour for ftpd(8).
auth    required    pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed

# Note: vsftpd handles anonymous logins on its own. Do not enable pam_ftp.so.

# Standard pam includes
@include common-account
@include common-session
@include common-auth
auth    required    pam_shells.so

您唯一要做的就是注释最后一行auth required pam_shells.so。因此,这不是必需的。

或向所有ftp用户添加登录名。

按照其他注释中的建议更改名称毫无意义,因为您会丢失拒绝文件。



-1

建立FTP连接时需要注意一些协议连接。

这些连接响应用户的访问,并在当前用户通过身份验证时启用。

在FTP中,如果被动模式未处于活动状态,则会出现此错误。

下面的配置文件是根据vsftpd软件配置的,所有设置均已正确配置,并且没有错误。

主动,被动模式并允许防火墙端口。2000至2500 / TCP

pasv_enable=Yes
pasv_max_port=2500
pasv_min_port=2000

%100固定的Vsftpd配置文件:/etc/vsftpd/vsftpd.conf

# Example config file /etc/vsftpd/vsftpd.conf
#
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
# Please see vsftpd.conf.5 for all compiled in defaults.
#
# READ THIS: This example file is NOT an exhaustive list of vsftpd options.
# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
# capabilities.
#
# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=YES
#
# Uncomment this to allow local users to log in.
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES
#
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
local_umask=022
#
# Uncomment this to allow the anonymous FTP user to upload files. This only
# has an effect if the above global write enable is activated. Also, you will
# obviously need to create a directory writable by the FTP user.
#anon_upload_enable=YES
#
# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.
#anon_mkdir_write_enable=YES
#
# Activate directory messages - messages given to remote users when they
# go into a certain directory.
dirmessage_enable=YES
#
# The target log file can be vsftpd_log_file or xferlog_file.
# This depends on setting xferlog_std_format parameter
xferlog_enable=YES
#
# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=NO
#
# If you want, you can arrange for uploaded anonymous files to be owned by
# a different user. Note! Using "root" for uploaded files is not
# recommended!
#chown_uploads=YES
#chown_username=whoever
#
# The name of log file when xferlog_enable=YES and xferlog_std_format=YES
# WARNING - changing this filename affects /etc/logrotate.d/vsftpd.log
#xferlog_file=/var/log/xferlog
#
# Switches between logging into vsftpd_log_file and xferlog_file files.
# NO writes to vsftpd_log_file, YES to xferlog_file
xferlog_std_format=YES

pam_service_name=vsftpd
pasv_enable=Yes
pasv_max_port=2500
pasv_min_port=2000
tcp_wrappers=YES

完成所有这些设置后,请记住配置防火墙设置。

  • TCP传入:2000至2500和21
  • TCP输出:2000至2500和21

请记住,您不能使用ftp://进行根访问。您必须使用sftp://来访问根目录。

FTP添加新帐户:

  • adduser newftpuser
  • passwd newftpuser

默认ftp文件夹:

  • / home / newftpuser

你是说什么吗,兄弟?@ K7AAY
Ahmet BerkBaşaran18年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.