ECS云服务器学习笔记(一)

简介: 基于ECS搭建FTP服务

ECS云服务器学习笔记(一)

基于ECS搭建FTP服务

一、创建资源

​ 云产品资源下拉菜单中,查看本次实验资源。并单击免费开通,创建所需资源。

二、远程连接ECS服务器(本次实验我使用的是Xhell5)

新建连接以后,把弹性IP以及用户密码输入到会话中并连接到该服务器
image-20200923210638866.png
image-20200923210647476.png

三、安装vsftpd

​1. 运行以下命令安装vsftpd
   
    yum install -y vsftpd

​ 返回以下界面以后,表示安装成功
image-20200923201406625.png

2. 运行以下命令设置FTP服务器开机自启动

    systemctl enable vsftpd.service
3. 启动FTP服务
     
    systemctl start vsftpd.service
4. 运行以下命令查看FTP服务监听的端口

    netstat -antup | grep ftp

​ 出现以下界面后,表示FTP服务已启动,监听的端口为21。此时,vsftpd默认已开启匿名访问功能

四、配置vsftpd

  • 匿名用户模式
1.修改配置文件vsftpd.conf。

     vim /etc/vsftpd/vsftpd.conf

按 i 建进入编辑模式,将匿名上传权限 anon_upload_enable=YES 的注释解开
image-20200923204217965.png

2.按ECS键退出编辑模式,输入 :wq  保存并退出 vim。 
3.更改 /var/ftp/pub目录的权限,为FTP用户添加写入权限。

    chomd o+w /var/ftp/pub/
4.重启FTP服务。

    systemctl restart vsftpd.service 

image-20200923205039819.png

  • 本地用户模式
    1.为FTP服务创建一个Linux用户。
    
    adduser ftptest
    
       为用户设置密码。
    
    passwd ftptest

image-20200923205917596.png

 2.创建一个供FTP服务使用的文件目录。

    mkdir /var/ftp/test
 3.更改 /var/ftp/test 目录的拥有者为ftptest

    chown -R ftptest:ftptest /var/ftp/test
  4.修改 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 #设置本地用户登录后所在的目录

    配置FTP为被动模式请执行如下命令:
  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 #设置被动模式下,建立数据传输可使用的端口范围的最大值     
 5.在 /etc/vsftpd 目录下创建 chroot_list 文件,并在文件中写入例外用户名单。
   [root@iZuf6hc9ky50i3r559us8kZ ~]# cd /etc/vsftpd
   [root@iZuf6hc9ky50i3r559us8kZ vsftpd]# ls
   ftpusers  user_list  vsftpd.conf  vsftpd_conf_migrate.sh
   [root@iZuf6hc9ky50i3r559us8kZ vsftpd]# touch chroot_list
   [root@iZuf6hc9ky50i3r559us8kZ vsftpd]# ls
   chroot_list  ftpusers  user_list  vsftpd.conf  vsftpd_conf_migrate.sh
   [root@iZuf6hc9ky50i3r559us8kZ vsftpd]# vim chroot_list
   ftptest

#使用vim命令编辑chroot_list文件,添加例外用户名单。此名单中的用户不会被锁定在主目录,可以访问其他目录。
vim /etc/vsftpd/chroot_list

说明: 没有例外用户时,也必须创建chroot_list文件,内容可为空。
   6.重启 FTP 服务。

    systemctl restart vsftpd.service

五、客户端测试

FTP客户端、Windows命令行工具或浏览器均可用来测试FTP服务器。(此步骤仅适用于本地用户,匿名模式无需进行测试操作)

说明:用浏览器访问FTP服务器出错时,建议您清除浏览器缓存后再尝试。

1.打开Chrom浏览器,在地址栏中输入ftp://:FTP端口,FTP服务器公网IP地址为ECS服务器的弹性IP地址。例如:ftp://139.0.0.1:21。

2.在弹出的对话框中,输入用户名和密码。
image-20200923213905402.png

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

image-20200923213938844.png

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
缓存 网络协议 Linux
Linux C/C++ 开发(学习笔记十三):百万并发的服务器实现
Linux C/C++ 开发(学习笔记十三):百万并发的服务器实现
235 0
|
网络协议 Linux C++
Linux C/C++ 开发(学习笔记十二 ):TCP服务器(并发网络编程io多路复用epoll)
Linux C/C++ 开发(学习笔记十二 ):TCP服务器(并发网络编程io多路复用epoll)
361 0
|
网络协议 Linux C++
Linux C/C++ 开发(学习笔记十一 ):TCP服务器(并发网络网络编程 一请求一线程)
Linux C/C++ 开发(学习笔记十一 ):TCP服务器(并发网络网络编程 一请求一线程)
358 0
|
Python
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
使用Python的socket库实现客户端到服务器端的图片传输,包括客户端和服务器端的代码实现,以及传输结果的展示。
662 3
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
|
JSON 数据格式 Python
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
本文介绍了如何使用Python的socket模块实现客户端到服务器端的文件传输,包括客户端发送文件信息和内容,服务器端接收并保存文件的完整过程。
661 1
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
|
Python
Flask学习笔记(二):基于Flask框架上传图片到服务器端并原名保存
关于如何使用Flask框架上传图片到服务器端并以其原名保存的教程。
532 1
|
Python
Flask学习笔记(三):基于Flask框架上传特征值(相关数据)到服务器端并保存为txt文件
这篇博客文章是关于如何使用Flask框架上传特征值数据到服务器端,并将其保存为txt文件的教程。
196 0
Flask学习笔记(三):基于Flask框架上传特征值(相关数据)到服务器端并保存为txt文件
|
前端开发
前端学习笔记202307学习笔记第五十五天-node-服务器和域名1
前端学习笔记202307学习笔记第五十五天-node-服务器和域名1
118 2
|
前端开发
前端学习笔记202307学习笔记第五十五天-node-客户端,服务器,Url之3
前端学习笔记202307学习笔记第五十五天-node-客户端,服务器,Url之3
118 1
|
前端开发
前端学习笔记202307学习笔记第五十五天-node-服务器和域名1
前端学习笔记202307学习笔记第五十五天-node-服务器和域名1
135 0