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

相关推荐

  • Shell脚本——提取目录名和文件名

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

    2024年2月18日
    2.5K00
  • 实验案例:LVM卷管理及配额设置

    实验环境 公司准备在Internet中搭建FTP服务器(CentOS 7.3 系统平台),面向全国各地的员工及部分VIP客户提供资料上传下载的空间。考虑动态扩容的需要,计划增加两块SCSI硬盘并构建LVM逻辑卷(挂载到/date目录下)专门用于存放电子邮件数据,并通过磁盘配额的方式限制用户的电子邮箱空间。 需求描述 采用LVM磁盘管理方案:添加两块SCSI硬…

    2024年6月25日
    2.1K00
  • centos7 shell 支持中文显示

    其实很简单,让 shell 支持 utf8 即可。先使用locale命令看一下设置情况: LC_ALL没有设置,需要赋值en_US.UTF-8,很简单: 最后,不要忘了source一下bash_profile,让其生效。

    2023年3月14日
    1.7K00
  • crontab中反引号和$()无效的解决

    问题描述 1.增加了一条crontab,删除本月中2天以前的日志 10 02  * * * /bin/find /data/logs/php/$(date  +%Y%m)/ -mtime +2 | xargs rm -rf   可是看上面的crontab总是运行失败,然后查/var/log/cron 日志报 Jul 22 02:02:01  loc…

    2023年3月29日
    1.7K00
  • Homebrew安装教程

    Homebrew是什么? Homebrew是一款MacOS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。 通常用于Mac系统,也可以安装在Linux系统 注意M1处理器的安装位置(与intel有所区别): brew的安装位置:/opt/homeb…

    2023年6月19日
    1.9K00

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信