天天看點

ECS七天訓練營進階班 第一天 基于ECS搭建FTP服務第一天 基于ECS搭建FTP服務

第一天 基于ECS搭建FTP服務

0x01 使用SSH登入ECS

本次使用的ECS為阿裡雲提供的體驗機
伺服器系統 版本
CentOS 7.7

在阿裡雲上可以直接申請免費體驗,使用時間為一個小時。

在申請後,使用

ssh root@<ECS IP>

進行連接配接。

0x02 在ECS上安裝vsftpd

  1. 使用以下指令安裝vsftpd
yum install -y vsftpd           

安裝成功後會顯示如下結果

Loaded plugins: fastestmirror
Determining fastest mirrors
base                                                                                             | 3.6 kB  00:00:00
epel                                                                                             | 4.7 kB  00:00:00
extras                                                                                           | 2.9 kB  00:00:00
updates                                                                                          | 2.9 kB  00:00:00
(1/7): base/7/x86_64/group_gz                                                                    | 153 kB  00:00:00
(2/7): epel/x86_64/group_gz                                                                      |  95 kB  00:00:00
(3/7): epel/x86_64/updateinfo                                                                    | 1.0 MB  00:00:00
(4/7): extras/7/x86_64/primary_db                                                                | 206 kB  00:00:00
(5/7): base/7/x86_64/primary_db                                                                  | 6.1 MB  00:00:00     (6/7): updates/7/x86_64/primary_db                                                               | 4.5 MB  00:00:00
(7/7): epel/x86_64/primary_db                                                                    | 6.9 MB  00:00:00
Resolving Dependencies
--> Running transaction check
---> Package vsftpd.x86_64 0:3.0.2-27.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================================================
 Package                    Arch                       Version                           Repository                Size
========================================================================================================================
Installing:
 vsftpd                     x86_64                     3.0.2-27.el7                      base                     172 k

Transaction Summary
========================================================================================================================
Install  1 Package

Total download size: 172 k
Installed size: 353 k
Downloading packages:
vsftpd-3.0.2-27.el7.x86_64.rpm                                                                   | 172 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
  Installing : vsftpd-3.0.2-27.el7.x86_64                                                                           1/1
  Verifying  : vsftpd-3.0.2-27.el7.x86_64                                                                           1/1

Installed:
  vsftpd.x86_64 0:3.0.2-27.el7

Complete!           
  1. 設定vsftpd開機自啟動
systemctl enable vsftpd.service           
  1. 啟動FTP服務
systemctl start vsftpd.service           
  1. 檢視FTP使用的網絡端口
netstat -antup | grep ftp           

如下結果表明FTP正在監聽21端口

tcp6       0      0 :::21                   :::*                    LISTEN      1409/vsftpd           

0x03 配置vsftpd

vsftpd(very secure FTP daemon)是一款在Linux發行版中最受推崇的FTP伺服器。vsftpd支援匿名通路和本地使用者模式兩種通路方式。匿名通路方式任何使用者都可以通路搭建的FTP服務;本地使用者模式隻支援添加的本地使用者通路搭建的FTP服務。

匿名使用者模式和本地使用者模式隻可同時配置一種。

  1. 匿名模式
    1. 使用編輯器編輯

      /etc/vsftpd/vsftpd.conf

      ,删除

      #anon_upload_enable=YES

      前的

      #

      ,開啟匿名上傳權限。
    2. 更改

      /var/ftp/pub

      目錄的權限,為FTP使用者添加寫權限。
    chmod o+w /var/ftp/pub/           
    1. 重新開機FTP服務。
    systemctl restart vsftpd.service           
    1. 使用浏覽器進行連接配接測試,結果如下
      ECS七天訓練營進階班 第一天 基于ECS搭建FTP服務第一天 基于ECS搭建FTP服務
  2. 本地使用者模式
    1. 為FTP服務建立一個Linux使用者。
    adduser ftptest           
    1. 為使用者設定密碼。
    passwd ftptest           
    1. 建立一個供FTP服務使用的檔案目錄。
    mkdir /var/ftp/test           
    1. 更改/var/ftp/test目錄的擁有者為ftptest。
    chown -R ftptest:ftptest /var/ftp/test           
    1. 修改

      vsftpd.conf

      配置檔案。
      1. 配置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 #設定本地使用者登入後所在的目錄           
      1. 配置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 #設定本地使用者登入後所在的目錄            
    2. /etc/vsftpd

      目錄下建立

      chroot_list

      檔案,并在檔案中寫入例外使用者名單。
    vim /etc/vsftpd/chroot_list           
    systemctl restart vsftpd.service           
    1. 使用浏覽器進行登入
      ECS七天訓練營進階班 第一天 基于ECS搭建FTP服務第一天 基于ECS搭建FTP服務
ECS七天訓練營進階班 第一天 基于ECS搭建FTP服務第一天 基于ECS搭建FTP服務

或使用ftp指令進行連接配接

ftp 106.14.14.181           
ECS七天訓練營進階班 第一天 基于ECS搭建FTP服務第一天 基于ECS搭建FTP服務

0x04 總結

學習了如何使用CentOS系統搭建FTP伺服器

  1. 使用

    yum

    指令安裝vsftpd
  2. systemctl

    啟用vsftpd
  3. /etc/vsftpd/vsftpd.conf

    開啟匿名模式或本地使用者模式
  4. systemctl restart vsftpd.service

    重新開機vsftpd使配置生效
  5. 使用浏覽器或ftp指令進行登入

繼續閱讀