Centos7下FTP安装与配置

一、前述

企业中linux搭建ftp服务器还是很实用的,所以本文基于Centos7搭建服务器教程做个总结。

什么是FTP?
FTP,文件传输协议,可以实现在网络上传输多种类型的文件
一个完整的FTP文件传输需要建立两种类型的连接,先建立控制连接,然后建立数据连接
控制连接:客户端首先向服务端的TCP21号端口发起建立连接的请求,服务器接收请求,完成控制连接的建立
数据连接:控制连接建立后,开始建立数据连接,用于传输文件。数据连接有主动传输模式和被动传输模式。

FTP协议占用两个端口号:

21端口:命令控制,用于接收客户端执行的FTP命令。

20端口:数据传输,用于上传、下载文件数据。

二、服务端安装

1.安装vsftpd

yum -y install vsftpd

2.配置vsftp

vim /etc/vsftpd/vsftpd.conf

输入 :set number显示行号(可省略)

:set number

Centos7下FTP安装与配置

修改第12行为: anonymous_enable=NO 禁止匿名登录

取消第102行chroot_list_enable=YES,104行chroot_list_file=/etc/vsftpd/chroot_list的注释

在最后一行新增 allow_writeable_chroot=YES 然后保存退出

二、增加访问ftp的用户

1.编辑账户文件

vim /etc/vsftpd/chroot_list

输入账户名,多个用户名以空格隔开,这里以用户名ftptest为例

Centos7下FTP安装与配置

2.设置上传目录

mkdir -p /home/upload

3.新增用户,配置主文件夹

useradd -d /home/upload -s /sbin/nologin ftptest

这时候会返回以下

Centos7下FTP安装与配置

4.将用户放置ftp组

usermod -aG ftp ftptest

5.将文件夹分配给用户

chown ftptest /home/upload

6.设置密码

passwd ftptest

三、配置防火墙

1.关闭SELinux

输入vim /etc/selinux/config,修改至下图所示

Centos7下FTP安装与配置

然后输入 setenforce 0

setenforce 0

2.修改firewall使之允许ftp功能

启动firewall

systemctl start firewalld.service

输入

firewall-cmd –permanent –zone=public –add-service=ftp

重启firewall

firewall-cmd --reload

四、启动ftp服务

经过以上步骤,ftp就已配置好,下面启动服务并添加开机启动

1.启动ftp

systemctl start vsftpd

2.查看ftp状态

systemctl status vsftpd

返回以下说明服务已启动

Centos7下FTP安装与配置

3.设置开机自启动

chkconfig vsftpd on

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/4753

(1)
安屠生的头像安屠生
上一篇 2022年6月15日 下午4:30
下一篇 2022年6月15日 下午5:19

相关推荐

  • Linux中监测磁盘IO性能

    Linux 存储系统 I/O 栈由文件系统层(file system layer)、通用块层( general block layer)和设备层(device layer)构成。 其中,通用块层是 Linux 磁盘 I/O 的核心。向上,它为访问文件系统和应用程序的块设备提供了标准接口;向下,它将各种异构磁盘设备抽象为一个统一的块设备,并响应文件系统和应用程…

    2022年12月1日
    1.5K00
  • Centos7.6下宝塔安装及资产管理系统部署

    一:宝塔安装 1、连接linux服务器 2、执行命令开始安装 yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec 安装成功出现下方界面 3、访问外网地址…

    2022年6月8日
    5.1K90
  • Linux缓冲区的理解

    一、FIFE 可以看到对过程重定向后结果发生了改变,C接口的函数printf,fprintf,fputs都被打印了两次;而系统接口write前后只被打印了一次,为什么呢?肯定和fork有关! fork会创建子进程。在创建子进程的时候,数据会被处理成两份,父子进程发生写时拷贝,我们进行printf调用数据的时候,数据写到显示器外设上,就不属于父进程了,数据没被…

    2023年4月10日
    1.4K00
  • mysql之两个db实例中有两个表对比

    两个db实例中有两个表对比要确定两个数据库实例中的两个表是否存在差异,你需要比较这两个表的所有数据。这个过程可以通过多种方法实现,以下是几个常见的方法: SQL查询比较如果两个数据库相互可访问(例如,通过数据库链接),你可以编写SQL查询来比较它们的数据。以下是一个简单的例子,演示如何比较两个表的数据: 如果这些查询返回任何行,那么这些行就是两个表之间的差异…

    2024年7月4日
    3.1K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信