阿里云七天打卡day01-阿里云开发者社区

开发者社区> 阿里云高校学研支持计划> 正文

阿里云七天打卡day01

简介: 根据阿里云使用,基于ECS搭建FTP 课程实验项目过程编写此文章 具体过程有 1. 创建资源 2. 远程连接ECS服务器 3. 安装vsftpd 4. 配置vsftpd 5. 客户端测试

创建资源

  1. 在页面左侧,单击 云产品资源 下拉菜单,查看本次实验资源。
  2. 单击 免费开通 创建所需资源。
    image.png

得到一上图片即为成功创建实例

远程连接服务器

接下来即可开始第二步
yu
远程连接ECS服务器 推荐使用XShell
此文章中使用windows自带的CMD实现

在CMD中输入 ssh -V可查看是否拥有ssh,如下图所示例
image.png

否则需要只能装openSSH
链接https://www.mls-software.com/files/setupssh-8.2p1-1.exe?spm=a2c6h.13858378.0.0.5f2992d3oUyHvH&file=setupssh-8.2p1-1.exe

然后在终端中输入连接命令 ssh [username]@[ipaddress]。将其中的 username 和 ipaddress 替换为云产品资源提供的ECS服务器的 用户和 弹性IP。例如:ssh root@123.123.123.123

示例image.png
输入yes(注意 不是y)

image.png
如上即为连接成功 其中 输入密码时 密码不会显示 注意正确性

安装vsftpd

接下来进行安装vsftp

yum install -y vsftpd

如图所示即成功

image.png

配置FTP启动服务(注意是开机自启动)

image.png

systemctl enable vsftpd.service

接下来启动ftp

systemctl start vsftpd.service

运行以下代码实现查看启动状态

image.png
可以看到端口是21

配置vsftpd

image.png

# Example config file /etc/vsftpd/vsftpd.conf
#
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
# Please see vsftpd.conf.5 for all compiled in defaults.
#
# READ THIS: This example file is NOT an exhaustive list of vsftpd options.
# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
# capabilities.
#
# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=YES
#
# Uncomment this to allow local users to log in.
# When SELinux is enforcing check for SE bool ftp_home_dir
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES
#
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
local_umask=022
#
# Uncomment this to allow the anonymous FTP user to upload files. This only
# has an effect if the above global write enable is activated. Also, you will
# obviously need to create a directory writable by the FTP user.
# When SELinux is enforcing check for SE bool allow_ftpd_anon_write, allow_ftpd_full_access

即可查看文件

按i即可进入编辑模式

文章中已经写了

#anon_upload_enable=YES

所以去掉前面的#号即可

接下来按ESC退出文件编辑模式

:wq

前面一定有 : 号 (注意)

然后更改目录权限,为FTP用户添加写权限

image.png

chmod o+w /var/ftp/pub/

做完之后重启FTP服务。如下图。

systemctl restart vsftpd.service

image.png

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

adduser ftptest

并且设置密码

image.png

创建一个供FTP服务使用的文件目录。
这个地方要注意,否则上传会出问题

更改/var/ftp/test目录的拥有者为ftptest。

新建一个文件夹供使用

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

我这里使用的是主动模式,如图
被动和主动已经放在这里了
配置FTP为主动模式请执行如下命令:

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 #设置本地用户登录后所在的目录

配置FTP为被动模式请执行如下命令:

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 #本教程中为ECS服务器弹性IP 
echo "pasv_min_port=20" >> /etc/vsftpd/vsftpd.conf #设置被动模式下,建立数据传输可使用的端口范围的最小值 
echo "pasv_max_port=21" >> /etc/vsftpd/vsftpd.conf #设置被动模式下,建立数据传输可使用的端口范围的最大值

文件创建编写之前已经做过了

这个文件有个关键点,他可以为空,但是必须有

再次重启服务

systemctl restart vsftpd.service

客户端测试

这里使用的是命令行,也可以使用Chrome浏览器
我在浏览器测试的时候是没有反应的,可能是因为一下浏览器设置的原因
image.png

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
阿里云高校学研支持计划
使用钉钉扫一扫加入圈子
+ 订阅

阿里云高校学研支持计划旨在为高等院校师生提供包括算力、培训、平台 等全方位支持,助推高校计算机学科建设、培养数字经济时代的前沿技术人才、为多学科跨 领域科研探索提速增效。目前,我们已经开启了学生成长计划、教学支持计划和科研加速 三大板块。精彩内容,先睹为快。

官方博客
申请加入高校学研支持计划
友情链接