我已经为此绞尽脑汁好几个小时了,我被难住了。我正在用 vsftpd 设置 Gentoo Linux 机器。我可以让它作为独立守护进程工作,但不能用 xinetd 工作。当我尝试从另一台机器连接时,它的 FTP 客户端显示:
ftp: Can't connect to 'my.ip.add.ress': Connection refused
ftp: Can't connect to 'my.domain.tld'
我已经尝试了所有能想到的方法。“enabled = yes”、“disabled = no”等等。我不认为这是防火墙问题,因为我能够通过独立模式运行它。操作系统已完全更新为“稳定”的 Portage 树。 /etc/init.d/xinetd
正在运行,并且/etc/init.d/vsftpd
没有运行。的输出netstat
不包含有关端口 20 或 21、xinetd 或 ftp 的任何信息。
/var/log/
当我尝试(失败)登录时,似乎没有记录 中的内容。当我重新启动 xinetd 时,/var/log/messages
指示 xinetd 读取 中的每个文件/etc/xinetd.d/
,但随后它总是显示removing ftp
启动阶段即将结束。
这是我的/etc/xinetd.conf
:
defaults {
enabled = yes
log_type = SYSLOG daemon info
log_on_failure = HOST
log_on_success = PID HOST DURATION EXIT
only_from = 0.0.0.0
cps = 50 10
instances = 50
per_source = 10
v6only = no
groups = yes
umask = 002
}
includedir /etc/xinetd.d
这是我的/etc/xinetd.d/vsftpd
:
service ftp {
socket_type = stream
wait = no
user = root
server = /usr/sbin/vsftpd
server_args = /etc/vsftpd/vsftpd.conf
log_on_success += DURATION
nice = 10
disable = no
}
这是我的/etc/vsftpd/vsftpd.conf
:
accept_timeout=60
anon_umask=022
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_upload_enable=YES
anon_world_readable_only=NO
anonymous_enable=NO
banner_file=/etc/motd
chroot_local_user=YES
connect_timeout=60
data_connection_timeout=300
guest_enable=YES
guest_username=admin
hide_ids=YES
idle_session_timeout=900
listen=NO
local_enable=YES
local_root=/home/admin/uploads
log_ftp_protocol=YES
ls_recurse_enable=NO
pam_service_name=/etc/pam.d/vsftpd
userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/vsftpd/users.allow
write_enable=YES
xferlog_enable=YES
有任何想法吗?
答案1
正如我在上面的评论中提到的,我自己弄明白了。在“xinetd.conf”中,该enabled
选项不是布尔值。如果存在,它应该是要启用的服务列表。注释掉它对我来说是有效的。