Centos安装vsftpd:centos配置vsftpd,ftp报200和227错误

一、centos下载安装vsftpd(root权限)

1、下载安装

复制代码
yum -y install vsftpd

2、vsftpd的配置文件

复制代码
 /etc/vsftpd.conf

3、备份原来的配置文件

复制代码
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.backup

4、修改配置文件如下:vi /etc/vsftpd.conf

复制代码
write_enable=YES
local_umask=000
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list   #允许的用户,一行一个用户名
 

#解析
write_enable   全局设置,允许ftp用户写
local_umask    设置对文件的权限,000-》 777  022--》755
chroot_local_user  允许本地用户
chroot_list_enable=YES 
chroot_list_file=/etc/vsftpd/chroot_list  #将用户写到这个文件中,才能

5、创建一个ftpuser,用于登录ftp服务器

复制代码
#创建ftpuser
 
useradd -d /home/ftp  -s /bin/bash ftpuser

 
-d  指定该用户的家目录,如果没有指定,就会在/home下生成一个ftpuser目录
-s  指定进来后,启动
 
#指定目录后,需要在/home中手动创建一个ftp目录
 
#设置密码
sudo passwd ftpuser

6、给ftpuser新建家目录,ftp

复制代码
sudo mkdir /home/ftp
sudo chown ftpuser:ftpuser /home/ftp  #设置/home/ftp的所属组和所属用户

7、到ftp下创建一个upload目录

复制代码
mkdir /home/ftp/upload
 
#设置所属组和所属用户
sudo chown ftpuser:ftpuser /home/ftp/upload
 
#设置权限,可读写,1执行,2写,4读
sudo chmod -R 777 upload 
 
#这样其他用户就可以将数据上传到这里了

8、创建vsftpd.chroot_list文件并添加运行使用ftp的用户名

复制代码
 vi /etc/vsftpd/chroot_list
 
 #一行一个用户名
 ftpuser

9、启动vsftpd

复制代码
#启动
sudo service vsftpd start
#重启
sudo service vsftpd restart
#停止
sudo service vsftpd stop

10、安装iptables和iptables-services

CentOS7默认的防火墙不是iptables,而是firewalle.

bash 复制代码
安装iptable iptable-service
#先检查是否安装了iptables
service iptables status
#安装iptables
yum install -y iptables
#升级iptables
yum update iptables 
#安装iptables-services
yum install iptables-services

11、关闭防火墙

bash 复制代码
#停止firewalld服务
systemctl stop firewalld
#禁用firewalld服务
systemctl mask firewalld

12、开放21端口,ftp协议的默认端口

bash 复制代码
#查看iptables现有规则
iptables -L -n
#先允许所有,不然有可能会杯具
iptables -P INPUT ACCEPT
#清空所有默认规则
iptables -F
#清空所有自定义规则
iptables -X
#所有计数器归0
iptables -Z
#允许来自于lo接口的数据包(本地访问)
iptables -A INPUT -i lo -j ACCEPT
#开放22端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#开放21端口(FTP)
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
 
service iptables save
开启iptables服务 

13、启动iptables-services

bash 复制代码
#注册iptables服务(开机启动)
systemctl enable iptables.service
#开启服务
systemctl start iptables.service
#查看状态
systemctl status iptables.service

13、连接

到windows电脑的地址栏输入: ftp://ip地址

右键空白处,选择登录:

输入ftpuser,和设置的密码,就可以登录了。

登录成功,就可以进入到ftpuser的家目录了。

二、报错解决

1、在地址栏输入地址后,报ftp200和227错误

解决方法:

bash 复制代码
在windows下操作:
1、右键网络,打开"网络和Internet设置"
2、网络和共享中心
3、Internet选项
4、高级
5、取消掉 "使用被动FTP(用于防火墙和DSL调制解调器的兼容)"
6、最后,点击应用和确定
相关推荐
虎头金猫1 小时前
如何在Linux上使用Docker在本地部署开源PDF工具Stirling PDF:StirlingPDF+cpolar让专业操作像在线文档一样简单
linux·运维·ubuntu·docker·pdf·开源·centos
2301_810154553 小时前
VM中CentOS 7密码重置
linux·运维·centos
文 丰4 小时前
【centos7】部署ollama+deepseek
centos·deepseek
bug攻城狮6 小时前
CentOS 7 出现 “Could not resolve host“ 错误的修复方案
linux·运维·centos
feifeigo1237 小时前
CentOS系统管理:useradd命令的全面解析
linux·运维·centos
こ进制掌控者7 小时前
CentOS 8重启后网卡不见了解决办法
linux·运维·centos
刘一说10 小时前
CentOS部署ELK Stack完整指南
linux·elk·centos
1白天的黑夜111 小时前
Linux(3)|入门的开始:Linux基本指令(3)
linux·centos
Angletank11 小时前
虚拟机中centos简单配置
linux·经验分享·程序人生·centos
文 丰12 小时前
【openEuler 24.03 LTS SP2】真实实验部署ollama0.11.6+deepseekR1:1.5b+open-webUI
centos·deepseek