如何在Alinux 3系统搭建FTP站点

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 本文为第一期「实战派」有奖征文优秀作品。

本文为第一期「实战派」有奖征文优秀作品。

场景介绍

本方案实现在Alinux 3(Alibaba Cloud Linux 3)系统上搭建FTP站点,实现客户端指定账号访问,支持本地文件上传、远端文件下载等基本功能。

目标读者

了解阿里云基础ECS产品,有一定的云计算实践经验,熟悉Linux操作系统及FTP软件的个人开发者。

相关概念

Alinux(Alibaba Cloud Linux): 是阿里云基于龙蜥社区(OpenAnolis)的龙蜥操作系统(Anolis OS)打造的操作系统发行版,在兼容RHEL/CentOS生态的同时也为云上应用程序环境提供 Linux 社区的增强功能,并针对阿里云基础设施做了深度的优化,为阿里云用户提供优质的云上操作系统体验。

FTP(FileTransferProtocol):是文件传输协议的英文简称,用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。简单地说,支持FTP协议的服务器就是FTP服务器。(via百度百科)

前提条件/环境准备

1. 已开通阿里云ECS服务

2. 创建如下配置的云服务器

3. 提前获取公网IP

公网IP:101.133.129.237

4.提前准备好root用户密码

5.提前准备好ftp服务测试客户端,本案例使用mac系统自带软件finder

操作步骤

步骤一:安装ftp软件(本案例使用vsftp软件)

1. 使用终端远程登录到已创建好的Alinux 实例:

2. 执行命令yum install -y vsftpd安装软件:

3. 执行命令ll /etc/vsftpd/查看vsftp安装目录:

ftpusers:ftp登录用户黑名单

user_list:ftp登录用户白名单

vsftpd.conf:vsftp配置文件

vsftpd_conf_migrate.sh:配置文件迁移脚本

4.执行systemctl start vsftpd.service启动vsftp。

5.执行systemctl status vsftpd查看vsftp启动状态:

6.执行systemctl enable vsftpd.service设置FTP服务开机自启动。

步骤二:配置安全组,放通入方向21端口

1. 在ECS服务控制台实例详情中点击安全组配置:

2. 点击实例绑定的安全组详情:

3. 点击手动添加,放通入方向21端口

步骤三:配置FTP服务主动模式本地用户访问

1. 执行命令adduser ftptest为FTP服务创建一个Linux用户;

2. 执行命令passwd ftptest为用户设置密码;

3. 执行命令mkdir /var/ftp/test创建一个供FTP服务使用的文件目录:

4. 执行命令chown -R ftptest:ftptest /var/ftp/test 更改/var/ftp/test目录的拥有者为ftptest;

5. 执行如下命令,配置FTP为主动模式:

sed -i 's/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf

sed -i 's/listen=NO/listen=YES/' /etc/vsftpd/vsftpd.conf

sed -i 's/listen_ipv6=YES/#listen_ipv6=YES/' /etc/vsftpd/vsftpd.conf

sed -i 's/#chroot_local_user=YES/chroot_local_user=YES/' /etc/vsftpd/vsftpd.conf

sed -i 's/#chroot_list_enable=YES/chroot_list_enable=YES/' /etc/vsftpd/vsftpd.conf

sed -i 's/#chroot_list_file=/chroot_list_file=/' /etc/vsftpd/vsftpd.conf

echo "allow_writeable_chroot=YES" >> /etc/vsftpd/vsftpd.conf

echo "local_root=/var/ftp/test" >> /etc/vsftpd/vsftpd.conf

6. 执行命令touch /etc/vsftpd/chroot_list 生成例外用户名单,默认为空;

7. 执行命令systemctl restart vsftpd.service 重启ftp服务;

方案验证

1.使用chrome浏览器测试登录,自动跳转到mac系统finder,输入ftp用户名ftptest和密码:

2.ftp服务器端生成测试文件testfile:

3.在客户端能够查看到ftp端生成的文件:

常见问题

1.ftp服务有多种模式,本实践案例使用的是主动模式本地用户访问,其他模式请参考:https://baike.baidu.com/item/FTP/13839?fr=aladdin

2.mac系统电脑自带的finder访问ftp时只能下载文件,无法上传文件(系统做了只读保护),如需进一步测试ftp功能,建议下载FileZilla。

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7月前
|
弹性计算 网络协议 Linux
手动搭建FTP站点(CentOS 7)
本教程介绍如何在Linux实例上安装并配置vsftpd。
118 0
|
7月前
|
网络协议 Linux 网络安全
手动搭建FTP站点(CentOS 8)
本教程介绍如何在Linux实例上安装并配置vsftpd。
356 1
|
11月前
|
弹性计算 安全 网络协议
阿里云服务器部署FTP站点和Web环境教程
对于建站用户来说,在购买阿里云服务器之后,下面要做的就是部署FTP站点和Web环境教程,然后上传并运行我们的网站,这篇文章详细介绍了部署阿里云服务器全过程,对大家的学习或者工作具有一定的参考学习价值,不懂如何在阿里云服务器上部署网站运行环境的用户不妨随着小编来一起学习学习吧。
448 0
阿里云服务器部署FTP站点和Web环境教程
|
Ubuntu Linux
基于ubuntu系统的FTP部署
现在网上大多数都是基于centos操作系统的ftp服务器搭建,在Ubuntu上搭建ftp也类似,于是写了这篇基于ubuntu系统的FTP部署,仅供大家参考,若有错误之处欢迎批评指正。
1976 4
基于ubuntu系统的FTP部署
阿里云搭建 samba服务器
前言:我搭建samba服务器,只是想通过window系统的映射网络驱动器,将阿里云服务器的开发目录挂在到window系统上,这样就可以在window系统上编写代码,然后通过Xshell终端上编译运行了,一切只是为了方便! 1.
|
存储 前端开发 对象存储
如何基于云存储网关SMB共享搭建FileZilla FTP server
本文介绍在windows 环境下,如何利用云存储网关提供的SMB共享,使用FileZilla Server搭建FTP服务器来访问对象存储(OSS)中的资源。
2285 0
如何基于云存储网关SMB共享搭建FileZilla FTP server
|
弹性计算 缓存 安全
阿里云服务器Linux实例搭建FTP站点教程!
vsftpd 是 Linux 下的一款小巧轻快、安全易用的 FTP 服务器软件。本教程以 CentOS 7.2 64位操作系统为例,说明如何在 Linux 实例上安装并配置 vsftpd。
2165 0
FileZilla Server + FlashFXP 快速傻瓜式搭建FTP服务
FileZilla Server + FlashFXP 快速搭建FTP服务 这里介绍服务器安装FileZilla Server 客服端安装FlashFXP 实现FTP服务: 第一步 下载安装 FileZilla Server 一直NEXT安装就行 (若链接失效 可自行百度 ) 第二步 开启服务 **...
1692 0
|
网络协议 Windows 数据安全/隐私保护