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

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

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

场景介绍

本方案实现在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。

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6月前
|
Ubuntu 安全 网络安全
百度搜索:蓝易云【Ubuntu系统搭建FTP服务器教程】
现在,你已经成功在Ubuntu系统上搭建了FTP服务器。你可以使用FTP客户端连接到你的FTP服务器,并上传、下载文件。注意,为了安全起见,建议配置SSL/TLS加密以保护数据传输。
104 0
|
安全 数据安全/隐私保护
直播系统源码部署,高效文件管理与传输的FTP协议
在直播系统源码部署后的每天要处理大量媒体文件的情况下,FTP协议可以依靠自身的强大文件传输管理机制、备份与恢复与自动化任务来帮助平台用户更好的操作体验,通过FTP协议,也确保直播系统源码媒体文件传输的可靠性与安全性,让直播系统源码成为了更优质的平台。
直播系统源码部署,高效文件管理与传输的FTP协议
|
Linux 数据安全/隐私保护
百度搜索:蓝易云【CentOS7系统安装配置FTP服务器详解。]
FTP服务器是一种常用的文件传输协议,它可以通过网络将文件从一个计算机传输到另一个计算机。在Linux系统中,搭建FTP服务器可以方便地进行文件传输。本文将详细介绍CentOS7系统安装配置FTP服务器的步骤。
212 0
|
6月前
|
安全 关系型数据库 MySQL
CentOS 7系统加固详细方案SSH FTP MYSQL加固
CentOS 7系统加固详细方案SSH FTP MYSQL加固
|
SQL jenkins 持续交付
一篇文章掌握 FTP 和本地文件系统的桥梁 - CurlFtpFS
一篇文章掌握 FTP 和本地文件系统的桥梁 - CurlFtpFS
|
6月前
|
网络协议 网络安全 数据安全/隐私保护
【应用层】P2P、DNS、递归查询、迭代查询、FTP、电子邮件系统、万维网和HTTP
【应用层】P2P、DNS、递归查询、迭代查询、FTP、电子邮件系统、万维网和HTTP
112 0
|
Unix Linux 测试技术
FTP命令不同系统之间传输文件
FTP命令不同系统之间传输文件
|
Ubuntu Linux 网络安全
百度搜索:蓝易云【ubuntu系统使用vsftpd搭建FTP服务器。】
现在您已经成功在Ubuntu系统上使用vsftpd搭建了FTP服务器。请注意,这些步骤适用于Ubuntu系统,如果您使用的是其他Linux发行版,请查阅相应的文档或指南进行操作。
269 0
|
Linux
Linux系统【文件传输】ftpwho命令 – 显示ftp会话信息
ftpwho命令用于显示当前所有以FTP登入的用户会话信息。 执行该命令可得知当前用FTP登入系统的用户有哪些人,以及他们正在进行的操作。
77 2
|
Ubuntu 开发工具
Ubuntu系统搭建FTP服务器
Ubuntu系统搭建FTP服务器
203 0