编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

linux vsftpd 问题列表(vsftpd chroot)

wxchong 2024-10-06 04:32:45 开源技术 10 ℃ 0 评论

vsftpd 错误记录

Starting vsftpd for vsftpd: 500 OOPS: unrecognised variable in config file: allow_writeable_chroot

Q1 没有可用软件包 db4-utils

安装 epel源

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

Q1: 登录报错

500 OOPS: vsf_sysutil_bind

500 OOPS: priv_sock_get_int

解决方法:

1.关闭selinux

2.echo 'seccomp_sandbox=NO' >> /etc/vsftpd.conf

會自動用到 seccomp 這個 kernel module

3.PASV端口数量少

由:

pasv_min_port=52000

pasv_max_port=52019

改成

pasv_min_port=52000

pasv_max_port=52119

4.重启服务

#FTP服务启停

/etc/vsftpd/vsftpd52030.conf

systemctl enable vsftpd52030.service

systemctl start vsftpd52030.service

Q2.如何配置主动模式

/etc/vsftpd.conf

pasv_enable=NO

默认为YES,即被动模式


Q3.ftp 卡在被动模式

FTP协议传输文件有2种模式,分为主动模式和被动模式

这里的问题原因简单来讲是这样:FTP客户端默认的传输模式是被动模式,因此在通信过程中会去寻找服务器端的ip地址进行连接,但是由于腾讯云的外网ip不是直接配在网卡上,因此在被动模式下客户端找不到有效的ip(因为找到的是腾讯云的内网ip,内网ip无法直接和外网通信),故无法建立连接

解决方案有2种:

a、将客户端传输模式改为主动即可;

b、如果客户端网络环境要求被动模式,那么需要在服务端的配置文件中新增这些语句

pasv_address=***.***.***.***( 外网ip)

pasv_enable=YES

pasv_min_port=1024

pasv_max_port=2048

pasv_address=

此选项为一个数字IP地址,作为PASV命令的响应。默认值为none,即地址是从呼入的连接套接字(incoming connectd socket)中获取。

#########################################

#! /usr/bin/env python

# Copyright (C) 2003-2012, Stefan Schwarzer

# See the file LICENSE for licensing terms.

import os

import sys

from ftplib import FTP

ftp = FTP()

ftp.set_pasv(True, ip)

ftp.set_pasv(1)

ftp.set_debuglevel(2)

ftp.connect('111.231.59.66',46899)

ftp.login('ftp_yjwb','ksftp2018')

print ftp.getwelcome()

print ftp.dir()

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表