阿里云七天打卡day01

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

创建资源

  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

目录
相关文章
|
存储 数据建模 数据库
初探多维表格
最近调研学习了一些多维表格产品,记录一下自己收获的基础认知。在线表格的基础结构是单元格,横向纵向拓展的单元格的集合,就构成了一张工作表。单元格之间可以任意关联,非常灵活。在线表格的适用面很广,能够在数据收集和分析、财会统计等场景发挥重要的作用。在我试图寻找国外的多维表格产品时,发现很少有用「表格」来描述自己的。比如 Airtable 对自己的介绍是:一个构建协同应用的低代码平台。目前国内处于前沿的
2022 0
初探多维表格
|
前端开发 开发者
牛客网《剑指offer》专栏刷题练习之掌握动态规划思想
牛客网《剑指offer》专栏刷题练习之掌握动态规划思想
181 0
牛客网《剑指offer》专栏刷题练习之掌握动态规划思想
|
Web App开发 编解码 JavaScript
不能Hook的人生不值得 jsHook和模拟执行
不能Hook的人生不值得 jsHook和模拟执行
不能Hook的人生不值得 jsHook和模拟执行
SAP WM中阶存储类型里的Full stk rmvl 字段和Return Storage type字段
SAP WM中阶存储类型里的Full stk rmvl 字段和Return Storage type字段
SAP WM中阶存储类型里的Full stk rmvl 字段和Return Storage type字段
|
SQL Java 数据处理
JVM 上数据处理语言的竞争:Kotlin, Scala 和 SPL
JVM 上数据处理语言的竞争:Kotlin, Scala 和 SPL
440 0
|
API Android开发
android res文件夹下面的 values-v11 、 values-v14
values-v11代表在API 11+的设备上,用该目录下的styles.xml代替res/values/styles.xml values-v14代表在API 14+的设备上,用该目录下的styles.
1292 0
|
缓存 算法 Linux
Linux内存管理之页面回收【转】
转自:http://blog.csdn.net/bullbat/article/details/7311205 请求调页机制,只要用户态进程继续执行,他们就能获得页框,然而,请求调页没有办法强制进程释放不再使用的页框。
1153 0