天天看點

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系 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伺服器的搭建ECS訓練營學習第一天(筆記)—— FTP伺服器的搭建

繼續閱讀