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

相关推荐

  • Docker搭建phpipam管理平台

    phpipam功能很多,但最直接的都是用来做IP地址管理工具。在IT管理中,IP地址的分配和使用是比较重要的一环,尤其是对于全网中子网地址的分配,以及个别Server地址分配,静态地址使用记录等。 这里按照参考通过docker方式,下载镜像并运行容器,可以很容易搭建并应用。phpipam采用mysql数据库来储存数据,对应容器来说,在运行时可以将其数据目录映…

    2022年12月1日
    1.7K00
  • Shell脚本——提取目录名和文件名

    在许多场景下,我们都需要对文件名称或者文件所在的目录进行操作,已达到我们业务目的。通常的操作是由路径中提取文件名,从路径中提取目录名,提取文件后缀等等一系列的操作。 一、${} 1.${var##*/} 2.${var##*.} 3.${var#*.} 4.${var%/*} 5.${var%%.*} 6.总结 其实 ${} 并不是专门为提取文件名或目录名的…

    2024年2月18日
    1.4K00
  • GLIBC修复笔记,学会这些让你更快的解决系统问题

    公司环境有台机器硬盘故障,需要安装Megacli工具进系统查看raid信息,在Ubuntu20.04安装Megacli解决依赖过程中失误将高版本的libtinfo包装系统上了,导致系统报Glibc对应的版本没有找到,系统实际Glibc的版本是2.31。 背景 公司环境有台机器硬盘故障,需要安装megacli工具进系统查看raid信息,在ubuntu20.04…

    2023年12月7日
    1.2K00
  • 解决Ubuntu DNS覆盖写入127.0.0.53

    问题: ubuntu22.04解析网址时报错如图所示: 因为/etc/resolve.conf中存在 nameserver 127.0.0.53回环地址造成循环引用 原因: ubuntu17.0之后特有,systemd-resolvd服务会一直覆盖 解决方法: 1、修改resolv.config文件中的nameserver(选做),修改完后DNS解析就能恢复…

    2022年12月1日
    3.6K00
  • Jenkins常见报错(持续更新)

    1、Jenkins连接Git仓库时候报错Permission denied, please try again. 解决方法(1): jenkins 使用root 用户运行jenkins (因为是使用的是Yum的安装方式,默认启动是以jenkins 用户运行的,但是我们签发的证书是在root 下签发的,所以提示权限拒绝) [root@jenkins .ssh]…

    2023年5月16日
    1.5K00

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信