ECS 7天實踐訓練營-day1

Mongshangssd發表於2020-09-23

基於ECS搭建FTP服務

前言,之前使用過ftpserver等軟體搭建過ftp服務,今天練習使用vsftpd搭建.

1.遠端連線ESC伺服器
因為之前使用過Putty,所以就沒用教程中的工具.在這裡插入圖片描述
開啟後介面如下:
在這裡插入圖片描述
接下來填入使用者名稱和密碼
在這裡插入圖片描述
登入成功
在這裡插入圖片描述
2.安裝vsftpd
1.命令列安裝vsftpd

yum install -y vsftpd

複製命令後,右鍵貼上

在這裡插入圖片描述
安裝成功
在這裡插入圖片描述
2.設定FTP服務開機自啟動
設定ftp服務自啟動

systemctl enable vsftpd.service

在這裡插入圖片描述
啟動ftp服務

systemctl start vsftpd.service

在這裡插入圖片描述
檢視FTP服務監聽的埠

netstat -antup | grep ftp

在這裡插入圖片描述
3.配置vsftpd

vsftpd(very secure FTP daemon)是一款在Linux發行版中最受推崇的FTP伺服器。vsftpd支援匿名訪問和本地使用者模式兩種訪問方式。匿名訪問方式任何使用者都可以訪問搭建的FTP服務;本地使用者模式只支援新增的本地使用者訪問搭建的FTP服務。
說明: 匿名使用者模式和本地使用者模式只可同時配置一種。
因為只能同時配置一種,我就選擇了本地使用者模式(匿名的很簡單),也給出步驟(不過沒圖片).(最好選擇匿名的)
(1)本地使用者模式
為FTP服務建立一個Linux使用者

adduser ftptest

在這裡插入圖片描述

為使用者設定密碼

passwd ftptest

blog.csdnimg.cn/20200923205138289.png#pic_center)
建立一個供FTP服務使用的檔案目錄(可以自己設定目錄)

mkdir /var/ftp/test

在這裡插入圖片描述
更改/var/ftp/test目錄的擁有者為ftptest

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

在這裡插入圖片描述
修改vsftpd.conf配置檔案

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

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

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 #設定被動模式下,建立資料傳輸可使用的埠範圍的最大值

配置完成(這個圖有點花)
在這裡插入圖片描述
在/etc/vsftpd目錄下建立chroot_list檔案,並在檔案中寫入例外使用者名稱單

#使用vim命令編輯chroot_list檔案,新增例外使用者名稱單。此名單中的使用者不會被鎖定在主目錄,可以訪問其他目錄。
vim /etc/vsftpd/chroot_list

重啟FTP服務

systemctl restart vsftpd.service

在這裡插入圖片描述
客戶端測試
在瀏覽器輸入彈性ip,很遺憾我失敗了(找不到原因,嘗試匿名模式)
在這裡插入圖片描述
(2)匿名模式(實驗用的資源被回收了,而我的伺服器是windows系統,所以就沒操作了)
修改配置檔案vsftpd.conf

vim /etc/vsftpd/vsftpd.conf

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

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

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

chmod o+w /var/ftp/pub/
4. 重啟FTP服務。

systemctl restart vsftpd.service
備註;此次實驗不太成功,有空換個映象再試試

相關文章