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站等视频网站找到相关教程)

打卡

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

上一篇:VS2017使用utf-8+BOM的编码格式


下一篇:ECS训练营学习第四天(笔记)——使用PolarDB和ECS搭建门户网站