Centos7搭建FTP服务器~

在本文我们要介绍的是在 Centos 7 (RedHat 7)下安装及配置 FTP 服务。

一、介绍

1、Linux系统中FTP服务

Linux系统中FTP服务器的服务是通过安装和配置vsftpd来实现文件的共享。

2、vsftpd

vsftpd是“very secure TTP daemon”的缩写,是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。同时vsftpd支持本地用户及匿名访问两种访问方式。

二、vsftpd的安装及配置

1、通过yum安装vsftpd

yum install -y vsftpd

2、离线版安装vsftpd

1)、下载所需要vsftpd的rpm包: http://rpmfind.net/linux/rpm2html/search.php?query=vsftpd(x86-64)

2)、rpm -qa | grep vsftpd                       #检查是否安装了vsftpd
3)、rpm -ivh vsftpd-3.0.2-28.el7.x86_64.rpm     #安装
4)、rpm -qa | grep vsftpd                       #检查是否安装成功

3、修改vsftpd的配置文件

vim /etc/vsftpd/vsftpd.conf

修改配置文件如下:

1)、不允许匿名访问

anonymous_enable=NO

2)、允许使用本地帐户进行FTP用户登录验证

local_enable=YES

3)、使用户不能离开主目录

当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd/chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

如果/etc/vsftpd/chroot_list不存在,则需要创建该文件vim /etc/vsftpd/chroot_list

需添加及修改

allow_writeable_chroot=YES
write_enable=YES

4)、设定支持ASCII模式的上传和下载功能。

ascii_upload_enable=YES
ascii_download_enable=YES

:wq保存

4、新建FTP用户

adduser 用户名

修改该FTP用户密码

passwd 用户名

5、重启vsftpd

systemctl restart vsftpd.service

6、ftp服务端安装(可选)

1)、下载所需要的ftp服务端rpm包:
http://rpmfind.net/linux/rpm2html/search.php?query=ftp&submit=Search+…&system=&arch=

2)、rpm -qa | grep ftp                    #检查是否安装了ftp
3)、上传 ftp-0.17-67.el7.x86_64.rpm 到/usr/local/src/目录
4)、rpm -ivh ftp-0.17-67.el7.x86_64.rpm   #安装
4)、rpm -qa | grep ftp                    #检查是否安装成功

7、登录验证FTP

浏览器:ftp://ip或者使用filezilla工具连接

8、添加vsftpd开机自启动

systemctl enable vsftpd.service 

9、防火墙(选用)

firewall-cmd --list-services后发现缺失ftp
增加:firewall-cmd --permanent --add-service=ftp
重启:firewall-cmd --reload

防火墙端口配置

systemctl start firewalld                                            #启动防火墙
systemctl stop firewalld                                             #禁用防火墙(防火墙全部关闭)
systemctl restart firewalld.service                                  #重启防火墙
firewall-cmd --reload                                                #重启载入防火配置
systemctl enable firewalld.service                                   #将防火墙加入开机自启动	
firewall-cmd --zone=public --add-port=80/tcp --permanent             #添加开启80端口
firewall-cmd --zone=public --add-port=4000-4010/tcp --permanent      #添加开启4000-4010端口
firewall-cmd --zone=public --remove-port=21/tcp --permanent          #禁用21端口
firewall-cmd    --query-port=80/tcp                                  #查询80端口是否开启
netstat -tunlp |grep ftp                                             #查看ftp端口使用端口情况
netstat -ntlp                                                        #查看监听(Listen)的端口
netstat -antp                                                        #查看所有建立的TCP连接
iptables -L                                                          #查看防火墙规则

10、530 Login incorrect 的错误

需要关闭selinux服务:
临时关闭:setenforce 0
永久关闭:vi /etc/selinux/config ,然后将SELINUX的值改为 disabled ,最后保存退出即可。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值