一、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、最后,点击应用和确定