搭建FTP服务(Linux)-ECS七天训练营DAY01

简介: 基于ECS搭建vsftp服务

FTP是用于在网络上进行文件传输的一套标准协议。

FTP服务器是使用FTP协议在网络上提供文件存储和访问的服务器。

FTP服务器的工作模式主要有两种:

1.主动模式:服务器主动连接用户端口发送数据。(端口可能被客户端防火墙堵塞)
2.被动模式:客户端连接服务器端口发送数据。(端口可能被服务器端防火墙堵塞)

安装vsftpd

vsftdp是一个用于 类Unix系统的安全且快速的 FTP服务器,支持IPv6,TLS,FTPS等功能。是一个在GPL许可证下开放源代码,免费的 FTP服务器。

网站:https://security.appspot.com/vsftpd.html

1.检查服务器是否安装FTP服务。

rpm -qa | grep vsftpd

如果没有显示任何内容,则需要尚未安装vsftpd

2.运行以下命令安装vsftpd

yum install -y vsftpd

安装.png

返回如图所示界面时,表示安装成功。

3.运行以下命令设置vsftpd服务开机自启动。

systemctl enable vsftpd.service

4.启动FTP服务。

systemctl start vsftpd.service

5.查看FTP服务监听端口

netstat -antup | grep ftp

出现如下图所示界面,表示FTP服务已启动,监听的端口号为 21。此时,vsftpd默认已开启匿名访问功能,您无需输入用户名密码即可登录FTP服务器,但没有修改或上传文件的权限。

ftp监听.png

配置vsftpd

vsftpd允许用户以三种认证模式登录到FTP服务器上:

匿名开放模式:任何人都可以无需密码登录到FTP服务器上。(!不安全)

本地用户模式:通过Linux系统的本地账户密码星系进行登录认证。

虚拟用户模式:通过建立仅供 vsftpd服务使用的用户数据库,虚拟出用于登录认证的账户信息。

PS: 只可同时配置一种认证模式。

匿名开放模式-配置

1.修改配置文件vsftpd.conf

vim /etc/vsftpd/vsftpd.conf

3.按i键进入INSERT模式,将匿名上传权限anon_upload_enable=YES的注释解开(删除#号)。

4.按ECS退出insert模式,输入:wq保存并退出配置文件。

5.更改/var/ftp/pub目录的权限,为FTP用户添加权限。

chmod o+w /var/ftp/pub/

7.重启FTP服务。

systemctl restart vsftpd.service

本地用户模式-配置

1.为FTP服务创建一个Linux用户。

adduser 用户名

2.修改/指定密码

passwd 用户名

3.创建一个供FTP服务使用的文件目录。(以/var/ftp/vsftpd为例)

mkdir /var/ftp/vsftpd

4.更改/var/ftp/vsftpd目录的拥有者。

chown -R 用户名 /var/ftp/vsftpd

9.输入以下命令修改配置文件

主动模式

sed -i 's/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf #禁止匿名登录FTP服务器 
sed -i 's/listen=NO/listen=YES/' /etc/vsftpd/vsftpd.conf #监听IPv4 sockets 
sed -i 's/listen_ipv6=YES/#listen_ipv6=YES/' /etc/vsftpd/vsftpd.conf #关闭监听IPv6 sockets 
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 #设置本地用户登录后所在的目录

被动模式

sed -i 's/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf #禁止匿名登录FTP服务器 
sed -i 's/listen=NO/listen=YES/' /etc/vsftpd/vsftpd.conf #监听IPv4 sockets 
sed -i 's/listen_ipv6=YES/#listen_ipv6=YES/' /etc/vsftpd/vsftpd.conf #关闭监听IPv6 sockets 
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 #设置本地用户登录后所在的目录 

​ 以上配置与主动模式相同,以下为被动模式新增配置

echo "pasv_enable=YES" >> /etc/vsftpd/vsftpd.conf #开启被动模式 
echo "pasv_address=<FTP服务器公网IP地址>" >> /etc/vsftpd/vsftpd.conf #配置FTP服务器IP地址 
echo "pasv_min_port=20" >> /etc/vsftpd/vsftpd.conf #设置被动模式下,建立数据传输可使用的端口范围的最小值 
echo "pasv_max_port=21" >> /etc/vsftpd/vsftpd.conf #设置被动模式下,建立数据传输可使用的端口范围的最大值

6.在/etc/vsftpd目录下创建chroot_list文件,并在文件中写入例外用户名单。(此名单中的用户不会被锁定在主目录,可以访问其他目录)

vim /etc/vsftpd/chroot_list

7.重启FTP服务。

systemctl restart vsftpd.service

检验vsftp

1.打开FTP客户端/浏览器,在地址栏输入ftp://<FTP服务器IP地址>:FTP端口

2.(以firefox浏览器为例)在弹出的对话框中输入用户名和密码。

ftp登录.png

3.如出现如下界面,则登录成功,即可对FTP文件进行相应权限的操作。

ftp索引.png

参考/引用

基于ECS搭建FTP服务 - 开发者云体验平台 (aliyun.com)

linux环境:FTP服务器搭建 - 清水-殇 - 博客园 (cnblogs.com)

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
Ubuntu 安全 网络安全
在Ubuntu系统下使用vsftpd配置FTP服务器的步骤
以上就是在Ubuntu系统下使用vsftpd配置FTP服务器的步骤。这些步骤都是基础的,但足够让你建立一个简单的FTP服务器。如果你需要更高级的功能,例如SSL加密、虚拟用户等,你可能需要进一步研究vsftpd的配置选项。
914 13
|
网络协议 安全 Linux
如何配置Linux端的ftp?
如何配置Linux端的ftp?
476 64
|
数据可视化 Linux 网络安全
如何使用服务器训练模型
本文介绍了如何使用服务器训练模型,包括获取服务器、访问服务器、上传文件、配置环境、训练模型和下载模型等步骤。适合没有GPU或不熟悉Linux服务器的用户。通过MobaXterm工具连接服务器,使用Conda管理环境,确保训练过程顺利进行。
2830 0
如何使用服务器训练模型
|
安全 Ubuntu Linux
在Linux中,如何进行FTP服务器配置?
在Linux中,如何进行FTP服务器配置?
|
网络安全 数据安全/隐私保护
FTP服务搭建
FTP服务搭建
273 0
|
安全 网络协议 网络安全
Windows Server 2003 FTP服务器搭建
Windows Server 2003 FTP服务器搭建
394 0
|
弹性计算 关系型数据库 网络安全
阿里云国际版无法连接和访问Windows服务器中的FTP服务
阿里云国际版无法连接和访问Windows服务器中的FTP服务
|
网络协议 Unix 网络安全
FTP服务器怎么搭建?Windows server搭建FPT服务器
FTP服务器是按照FTP协议提供文件传输服务的计算机。它用于在两台计算机间安全地传输文件,支持用户权限管理和跨平台操作。FTP使用控制连接处理命令,数据连接传输文件,有PORT和PASV模式。要搭建FTP服务器,首先在Windows Server 2008 R2上安装IIS,确保选中FTP服务。接着,创建FTP文件夹作为站点根目录,通过IIS管理器添加FTP站点,配置站点信息、身份验证和权限。测试客户端通过telnet和浏览器访问FTP服务器,确认能成功登录及浏览文件。FTP常用于文件共享和管理,可通过专用工具如FlashFXP上传下载文件。
918 0
FTP服务器怎么搭建?Windows server搭建FPT服务器
|
存储 数据库连接 数据库
如何使用Python上传文件到FTP服务器
如何使用Python上传文件到FTP服务器
687 1
|
机器学习/深度学习 弹性计算 自然语言处理
【阿里云弹性计算】深度学习训练平台搭建:阿里云 ECS 与 GPU 实例的高效利用
【5月更文挑战第28天】阿里云ECS结合GPU实例为深度学习提供高效解决方案。通过弹性计算服务满足大量计算需求,GPU加速训练。用户可按需选择实例规格,配置深度学习框架,实现快速搭建训练平台。示例代码展示了在GPU实例上使用TensorFlow进行训练。优化包括合理分配GPU资源和使用混合精度技术,应用涵盖图像识别和自然语言处理。注意成本控制及数据安全,借助阿里云推动深度学习发展。
808 2