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

相关推荐

  • 通过配置hosts.allow和hosts.deny限制登陆

    我们通常只对管理员开放SSH登录,那我们就可以禁用不必要的IP,而只开放管理员可能使用到的IP段。 /etc/hosts.allow和/etc/hosts.deny两个文件是控制远程访问设置的,通过他可以允许或者拒绝某个ip或者ip段的客户访问linux的某项服务。 我们通常只对管理员开放SSH登录,那我们就可以禁用不必要的IP,而只开放管理员可能使用到的I…

    2022年11月15日
    2.1K00
  • Ubuntu系统如何配置镜像源

    我们在使用Linux系统时,一般来说都是需要配置一个源地址才能直接使用下载的命令来安装软件的,若你购买的是云服务器,正常来讲是服务器厂商配置好了源的,但是也不缺乏有少量的机器源会出现问题,导致安装软件不成功,如下图所示,那么我们就需要手动去配置了 第一步:替换原有的源 第二步:安装证书 如果安装失败,重新安装即可

    2022年6月14日
    1.7K00
  • SonarQube支持Gitlab授权登录

    背景 部署好SonarQube之后,由于我们内部使用的是自建的Gitlab仓库,即每个开发同学都有Gitlab账号,SonarQube我们就可以使用上Gitlab登录,这样就不需要再维护一套用户体系了。 环境: SonarQube8.9.2 社区版 GitLab Enterprise Edition 11.10.4-ee 具体配置: Gitlab 配置: 在…

    2023年1月20日
    1.7K00
  • Prometheus 监控进程

    prometheus 进程的监控 1. process exporter功能 2. 监控目标对主机进程的监控,chronyd sshd 等服务进程已经已定义脚本运行程序的运行状态监控。 process-compose的安装 监控所有进程 监控指定进程 docker 运行 docker ps -a 确认 up http://10.19.1.220:9256/m…

    2024年1月4日
    1.2K00
  • Redis删除特定前缀key的优雅实现

    Redis中没有批量删除特定前缀key的指令,但我们往往需要根据前缀来删除,那么究竟该怎么做呢?可能你一通搜索后会得到下边的答案 直接在linux下通过redis的keys命令匹配到所有的key,然后调用系统命令xargs来删除,看似非常完美,实则风险巨大 因为Redis的单线程服务模式,命令keys会阻塞正常的业务请求,如果你一次keys匹配的数量过多或者…

    2023年1月17日
    1.6K00

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信