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、最后,点击应用和确定
相关推荐
TDD_062812 小时前
【运维】Centos硬盘满导致开机时处于加载状态无法开机解决办法
linux·运维·经验分享·centos
IEVEl13 小时前
Centos7 安装 TDengine
运维·centos·时序数据库·tdengine
熊猫片沃子18 小时前
centos挂载数据盘
后端·centos
IT 小旋风21 小时前
Linux centos 7 常用服务器搭建
linux·服务器·centos
爪娃侠2 天前
解决wsl2下CentOS 7 的 yum 仓库无法连接问题
linux·运维·centos
cnskylee2 天前
【Keepalived】Keepalived-2.3.3明确结束对CentOS 7的支持
centos·keepalived·2.3.2·2.3.3
IEVEl3 天前
Centos7 开放端口号
linux·网络·centos
IEVEl3 天前
CentOS 7 安装 EMQX (MQTT)
linux·运维·centos
BTU_YC3 天前
Cannot find a valid baseurl for repo: centos-sclo-sclo/x86_64
linux·运维·centos·php
大王10243 天前
在 CentOS 系统中开机自动执行 Shell 脚本
linux·运维·centos