第一天 基于ECS搭建FTP服務
0x01 使用SSH登入ECS
本次使用的ECS為阿裡雲提供的體驗機
伺服器系統 | 版本 |
---|---|
CentOS | 7.7 |
在阿裡雲上可以直接申請免費體驗,使用時間為一個小時。
在申請後,使用
ssh root@<ECS IP>
進行連接配接。
0x02 在ECS上安裝vsftpd
- 使用以下指令安裝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!
- 設定vsftpd開機自啟動
systemctl enable vsftpd.service
- 啟動FTP服務
systemctl start vsftpd.service
- 檢視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服務。
匿名使用者模式和本地使用者模式隻可同時配置一種。
- 匿名模式
- 使用編輯器編輯
,删除/etc/vsftpd/vsftpd.conf
前的#anon_upload_enable=YES
,開啟匿名上傳權限。#
- 更改
目錄的權限,為FTP使用者添加寫權限。/var/ftp/pub
chmod o+w /var/ftp/pub/
- 重新開機FTP服務。
systemctl restart vsftpd.service
- 使用浏覽器進行連接配接測試,結果如下
ECS七天訓練營進階班 第一天 基于ECS搭建FTP服務第一天 基于ECS搭建FTP服務
- 使用編輯器編輯
- 本地使用者模式
- 為FTP服務建立一個Linux使用者。
adduser ftptest
- 為使用者設定密碼。
passwd 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 #設定本地使用者登入後所在的目錄
- 配置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 #設定本地使用者登入後所在的目錄
- 在
目錄下建立/etc/vsftpd
檔案,并在檔案中寫入例外使用者名單。chroot_list
vim /etc/vsftpd/chroot_list
systemctl restart vsftpd.service
- 使用浏覽器進行登入
ECS七天訓練營進階班 第一天 基于ECS搭建FTP服務第一天 基于ECS搭建FTP服務
或使用ftp指令進行連接配接
ftp 106.14.14.181
0x04 總結
學習了如何使用CentOS系統搭建FTP伺服器
- 使用
指令安裝vsftpdyum
-
啟用vsftpdsystemctl
-
開啟匿名模式或本地使用者模式/etc/vsftpd/vsftpd.conf
-
重新開機vsftpd使配置生效systemctl restart vsftpd.service
- 使用浏覽器或ftp指令進行登入