ECS训练营学习第一天(笔记)—— FTP服务器的搭建

简介: ECS训练营学习第一天(笔记)—— FTP服务器的搭建

ECS训练营学习第一天(笔记)—— FTP服务器的搭建

一、 远程连接ECS服务器

  1. MAC系统可以通过Terminal来执行下述操作,Win10之前的Windows系统用户请通过ssh -V来检测系统是否安装了ssh工具(请务必注意-V必须是大写),Win10用户可以直接通过Win+X来选择Power Shall来执行下述操作。
  2. Win10可以通过Power Shall的连接命令 ssh username@ipaddress 来连接ECS服务器(username是你的服务器的用户名,ipaddress是你服务器的公网IP或者说是弹性IP)。
  3. 之后会弹出一行信息询问是否继续,直接输入yes进行下一步。
  4. 接下来我们要输入我们的服务器登录密码,需要注意的是输入密码之后是不会显示密码的。(请妥善保管密码和自己服务器的公网IP,不然可能会出现服务器被人无限重启,删库等可怕的情况发生,所以请妥善保管自己的密码)

二、 安装vsftp

  1. 输入yum install -y vsftpd即可开始安装vsftp成功后进行下一步
  2. 输入systemctl enable vsftpd.service设置FTP开机启动
  3. 输入systemctl start vsftpd.service启动FTP服务
  4. 输入netstat -antup | grep ftp来查看FTP服务监听的端口 出现该界面则FTP,监听的端口号为21。此时,vsftp末日已开启匿名访问功能,我们不需要输入密码就可以登录我们的FTP服务器,但是此时我们没有修改或上传文件的权限。

三、 配置vsftp

vsftpd(very secure FTP
daemon)是一款在Linux发行版中最受推崇的FTP服务器。vsftpd支持匿名访问和本地用户模式两种访问方式。匿名访问方式任何用户都可以访问搭建的FTP服务;本地用户模式只支持添加的本地用户访问搭建的FTP服务。
匿名用户模式和本地用户模式只能选择一种。 匿名用户模式:

  1. 输入vim /etc/vsftpd/vsftpd.conf来修改配置文件vsftpd.conf。
  2. 按 i 键进入编辑模式,将匿名上传权限 anon_upload_enable=YES 的注释解开。(解开注释只需删除本行命令前的的#)
  3. 按ESC键推出编辑模式,输入:wq保存并推出vim编辑界面。
  4. 输入chmod o+w /var/ftp/pub/更改/var/ftp/pub目录的权限,为FTP用户添加写权限。
  5. 输入systemctl restart vsftpd.service来重启FTP服务 本地用户模式:
  6. 输入adduser username 来为我们的FTP服务创建一个Linux用户(用户名随自己喜欢)
  7. 输入passwd XXXXXX来为我们的用户设置密码(后面的XXXXXX是密码部分)
  8. 输入mkdir /var/ftp/test创建一个供FTP服务使用的文件目录
  9. 输入chown -R ftptest:ftptest /var/ftp/test来更改/var/ftp/test目录的拥有者为ftptest。
  10. 修改vsftp.conf配置文件 配置为主动模式执行以下命令:
/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 #设置本地用户登录后所在的目录 ```配置为被动模式输入以下命令: ```c 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 #设置被动模式下,建立数据传输可使用的端口范围的最大值
  1. 输入vim /etc/vsftpd/chroot_list来在/etc/vsftpd目录下创建chroot_list文件,并在文件中写入例外用户名单。(没有路外用户也必须创建此文件,内容可以为空)
  2. 重启FTP服务 四、 客户端测试
  3. 打开Chrom浏览器,在地址栏中输入ftp://:FTP端口,FTP服务器公网IP地址为ECS服务器的弹性IP地址。例如:ftp://139.0.0.1:21
  4. 在弹出的对话框中,输入用户名和密码。
  5. 登录成功之后我们就可以此时可对FTP文件进行相应权限的操作。

疑惑与思考

一、 为什么指令是yum -install而不是apt -install?

答:Linux 系统基本上分两大类:RedHat 系列:Redhat、Centos、Fedora 等;Debian
系列:Debian、Ubuntu 等。 他们的区别如下(只写了部分比较关键的):

对比 rpm yum dpkg apt
系列 RedHat系 RedHat系 Debian系 Debian系
区别 包安装工具 依赖管理工具 包安装工具 依赖管理工具
查询已安装 rpm -qa yum list installed dkpg -l apt list –installed
安装 rpm -i package.rpm 或 rpm –ivh yum install -y dpkg -i package.deb apt-get install package
更新 rpm –U software.rpm yum update apt upgrade
移除软件包 rpm -e module1… yum -remove dpkg -r package apt remove package

二、为什么FTP服务的端口号为21?

答:FTP的端口21是用来下载的,20是用来上传的。进行FTP文件传输中,客户端首先连接到FTP服务器的21端口,进行用户的认证,认证成功后,要传输文件时,服务器会开一个端口为20来进行传输数据文件。21端口主要用于FTP(File
Transfer Protocol,文件传输协议)服务,FTP服务主要是为了在两台计算机之间实现文件的上传与下载,一
台计算机作为FTP客户端,另一台计算机作为FTP服务器,可以采用匿名(anonymous)登录和授权用户名与密码登录两种方式登录FTP服务器。

收获

一、 首先来到训练营的第一天学到了FTP服务器如何搭建,虽然阿里这边给了不少的教程,但是搭建成功的那一刻我还是很有成就感的,毕竟这是我第一次搭建属于自己的FTP服务器,这种成就感难以用语言来形容。
二、FTP根目录一般为只读,如需上传文件,需要建一个可读写的子目录,当然vsftpd缺省会建一个pub/目录。其次,make
install之后,看看/etc/vsftpd/目录下配置文件是否已经存在,如果是,那么手动复制就不要做了。
三、复习了Linux操作指令,虽然在此之前就学习过Linux的操作指令,但是这无疑是一次复习与实操的过程,巩固了以前所学习过的知识,我想这应该也算是今天学习的收获吧。(常用的Linux指令可以在B站等视频网站找到相关教程)

打卡

在这里插入图片描述

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
SQL 分布式计算 DataWorks
DataWorks常见问题之dataworks连接FTP服务器失败如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
4月前
|
Ubuntu 安全 网络安全
百度搜索:蓝易云【Ubuntu系统搭建FTP服务器教程】
现在,你已经成功在Ubuntu系统上搭建了FTP服务器。你可以使用FTP客户端连接到你的FTP服务器,并上传、下载文件。注意,为了安全起见,建议配置SSL/TLS加密以保护数据传输。
93 0
|
4月前
|
缓存 网络协议 Linux
Linux C/C++ 开发(学习笔记十三):百万并发的服务器实现
Linux C/C++ 开发(学习笔记十三):百万并发的服务器实现
96 0
|
29天前
|
安全 Ubuntu Linux
在Linux中,如何进行FTP服务器配置?
在Linux中,如何进行FTP服务器配置?
|
2月前
|
网络协议 Unix 网络安全
FTP服务器怎么搭建?Windows server搭建FPT服务器
FTP服务器是按照FTP协议提供文件传输服务的计算机。它用于在两台计算机间安全地传输文件,支持用户权限管理和跨平台操作。FTP使用控制连接处理命令,数据连接传输文件,有PORT和PASV模式。要搭建FTP服务器,首先在Windows Server 2008 R2上安装IIS,确保选中FTP服务。接着,创建FTP文件夹作为站点根目录,通过IIS管理器添加FTP站点,配置站点信息、身份验证和权限。测试客户端通过telnet和浏览器访问FTP服务器,确认能成功登录及浏览文件。FTP常用于文件共享和管理,可通过专用工具如FlashFXP上传下载文件。
108 0
FTP服务器怎么搭建?Windows server搭建FPT服务器
|
3月前
|
存储 数据库连接 数据库
如何使用Python上传文件到FTP服务器
如何使用Python上传文件到FTP服务器
58 1
|
4月前
|
存储 运维 程序员
快速搭建一个FTP服务器
快速搭建一个FTP服务器
95 0
|
4月前
|
安全 网络协议 网络安全
在Windows7搭建FTP服务器详细教学
在Windows7搭建FTP服务器详细教学
141 0
|
4月前
|
Web App开发 安全 Unix
Linux 配置FTP服务器 + vsftpd服务安装配置 (Good篇)
Linux 配置FTP服务器 + vsftpd服务安装配置 (Good篇)
126 1
|
4月前
|
存储 网络协议 文件存储
使用Serv-U FTP服务器共享文件,实现无公网IP环境下远程访问-1
使用Serv-U FTP服务器共享文件,实现无公网IP环境下远程访问