阿里雲ECS七天訓練營 搭建FTP

2021-10-09 17:57:16 字數 2974 閱讀 8511

客戶端從乙個隨機的大於1024以上的埠n連線到伺服器的21埠,客戶端開始監聽埠n+1同時傳送命令「port n+1」,告訴伺服器開放了n+1埠。伺服器使用20埠回連到客戶端指定的n+1埠開始傳輸資料

• 被動模式:

– 客戶端從乙個隨機的大於1024以上的埠n連線到伺服器的21埠,開始監聽埠n+1,並且 同時傳送命令pasv。結果伺服器會開啟乙個隨機的大於1024以上的埠p,並傳送」port p」命令給客戶端,然後客戶端發起從本地埠n+1到伺服器的埠p的連線來傳送資料

安裝vsftpd

實驗環境:centos7

這裡只顯示匿名使用者和本地使用者的主動模式

執行以下命令安裝vsftpd。

yum -y install vsftpd

systemctl enable vsftpd.service設定ftp服務開機自啟動。

systemctl start vsftpd.service啟動ftp服務。

netstat -antup | grep ftp檢視ftp服務監聽的埠。

出現如下圖所示介面,表示ftp服務已啟動,監聽的埠號為 21。此時,vsftpd預設已開啟匿名訪問功能,您無需輸入使用者名稱密碼即可登入ftp伺服器,但沒有修改或上傳檔案的許可權。

配置vsftpd

vsftpd(very secure ftp daemon)是一款在linux發行版中最受推崇的ftp伺服器。vsftpd支援匿名訪問和本地使用者模式兩種訪問方式。匿名訪問方式任何使用者都可以訪問搭建的ftp服務;本地使用者模式只支援新增的本地使用者訪問搭建的ftp服務。

說明: 匿名使用者模式和本地使用者模式只可同時配置一種。

匿名使用者模式

vim /etc/vsftpd/vsftpd.conf

修改配置檔案vsftpd.conf。

按 i 鍵進入編輯模式,將匿名上傳許可權 anon_upload_enable=yes 的注釋解開。

按esc鍵退出編輯模式,輸入:wq 儲存並退出vim。

更改/var/ftp/pub目錄的許可權,為ftp使用者新增寫許可權。

chmod o+w /var/ftp/pub/

systemctl restart vsftpd.service重啟ftp服務。

驗證:切換路徑 建立1.txt在本地進行驗證

本地使用者模式

為ftp服務建立乙個linux使用者。

adduser ftptest

為使用者設定密碼。

建立乙個供ftp服務使用的檔案目錄。

mkdir /var/ftp/test

更改/var/ftp/test目錄的擁有者為ftptest。

chown -r ftptest:ftptest /var/ftp/test

修改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 #設定本地使用者登入後所在的目錄

這裡使用使用者登入ftptest 無法登入解決方法:修改配置檔案vim /etc/vsftpd/vsftpd.conf

cd /var/ftp/test/ 切換到本地檔案目錄

touch 3.text 建立檔案

systemctl restart vsftpd重啟服務

宿主機訪問 輸入ftptest 密碼12345678

阿里雲ECS七天高階訓練營 搭建docker環境篇

docker有兩個分支版本 docker ce 社群版 和docker ee 企業版 1.安裝docker的依賴庫 2.新增docker ce的軟體源資訊 yum config manager add repo3.安裝docker ce yum makecache fast yum y instal...

ECS七天實踐訓練營3

今天介紹如何為centos安裝gnome,為我們的伺服器提供視覺化介面,以便新手更好地適應和學習linux系統的基本操作。tightvnc 用於連線我們的伺服器進行視覺化操作 putty用於ssh連線 命令終端使用的是putty 軟體,putty 是自由的跨平台 telnet ssh 客戶端,wge...

ecs七天訓練營 day6

在終端中輸入連線命令ssh username ipaddress username和ipaddress替換為ecs伺服器的登入名和公網位址。輸入yes 同意繼續後將會提示輸入登入密碼。密碼為已建立的雲服務的ecs的登入密碼 安裝apache服務 安裝apache apache是世界使用排名第一的we...