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、最后,点击应用和确定
相关推荐
oMcLin7 小时前
如何在 SUSE Linux Enterprise Server 15 上通过配置 Nginx 与 PHP‑FPM 提升大流量电商平台的服务器响应能力
centos·去中心化·区块链
oMcLin7 小时前
如何在CentOS 7.9上配置并优化高并发视频流平台,利用Nginx和RTMP模块确保低延迟流媒体传输?
linux·nginx·centos
oMcLin8 小时前
如何在 CentOS 7.9 上部署基于区块链的数字资产交易平台,确保交易透明度与去中心化安全性
centos·去中心化·区块链
HABuo8 小时前
【linux进程控制(一)】进程创建&退出-->fork&退出码详谈
linux·运维·服务器·c语言·c++·ubuntu·centos
xzl049 小时前
Docker Overlay2 迁移至 CentOS Home 完整指南
docker·eureka·centos
Lam㊣10 小时前
CentOS上搭建时间同步服务器
linux·服务器·centos
我不是稻草人1 天前
Centos共享Mac文件
linux·macos·centos
鱼大虾1 天前
centos服务器安装gitlab
服务器·centos·gitlab
oMcLin1 天前
如何在CentOS 8.4上配置并优化Nginx负载均衡,确保跨境电商平台的高并发请求稳定处理?
nginx·centos·负载均衡
Lam㊣1 天前
Centos 7 系统docker pull 设置代理
docker·eureka·centos