在AWS配置FTP伺服器時的手順。
配置FTP伺服器的關鍵是有沒有理解ActiveFTP和PASV FTP的區別。在這裡把FTP伺服器配置為PASV模式。
1. yum安裝vsftp
# sudo su -
# yum install vsftpd
2. 確認沒有使用的連接埠
# cat /proc/sys/net/ipv4/ip_local_port_range
32768 61000
32768 – 61000連接埠在沒有使用的狀態。
3. 修改/etc/vsftpd/vsfptd.conf檔案
修改內容請參照下表。
| 區分 |
修改內容 |
解釋 |
| 修改 |
anonymous_enable=NO |
禁止匿名FTP使用者的登入 |
| 修改 |
dirmessage_enable=NO |
使用者初次進入新目錄時,顯示該目錄需要注意的內容,在這裡配置為不顯示 |
| 修改 |
ls_recurse_enable=YES |
允許使用者刪除目錄 |
| 追加 |
ascii_upload_enable=YES |
允許以ASCII模式上傳檔案 |
| 追加 |
ascii_download_enable=YES |
允許以ASCII模式下載檔案 |
| 修改 |
chroot_local_user=YES |
把本機使用者的根目錄改為各自的FTP根目錄 |
| 修改 |
chroot_list_enable=YES |
有效chroot_list。預設檔案是chroot_list_file=/etc/vsftpd/chroot_list |
| 修改 |
tcp_wrappers=NO |
不使用tcp_wrappers做限制(使用AWS EC2的Security Group作限制) |
| 修改 |
connect_from_port_20=NO |
不使用ActiveFTP |
| 修改 |
xferlog_std_format=NO |
以vsftpd格式記錄到記錄檔,YES時是wu-ftpd格式 |
| 追加 |
pasv_enable=YES |
使用PASV FTP |
| 追加 |
pasv_addr_resolve=YES |
在PASV模式下從主機名稱,擷取串連IP地址 |
| 追加 |
pasv_address=主機IP地址 |
配置EC2的Elastic IP地址 |
| 追加 |
pasv_min_port=60001 |
在PASV模式是使用的最小連接埠號碼(在手順2確認的沒有使用的連接埠裡選擇) |
| 追加 |
pasv_max_port=60100 |
在PASV模式是使用的最大連接埠號碼(在手順2確認的沒有使用的連接埠裡選擇) |
| 追加 |
use_localtime=YES |
使用主機的時間 |
| 追加 |
force_dot_files=YES |
不隱藏.開頭的檔案 |
4. 修改/etc/vsftpd/chrott_list
指定不變更根目錄的使用者,在這裡指定的使用者會訪問根目錄,一般指定root等使用者。在這裡配置為空白檔案,不進行修改。
# vi /etc/vsftpd/chroot_list
5. 建立FTP使用者
# adduser zabbix
# passwd zabbix
6. 配置開機啟動並啟動FTP服務
# chkconfig vsftpd on
# chkconfig
vsftpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# service vsftpd start
7. 配置AWS的Security Group
修改配置FTP服務的AWS EC2的Security Group。
在Inbound追加以下內容。
| Type |
Protocol |
Port Range |
Source |
| Custom TCP Rule |
TCP |
21 |
0.0.0.0/0 |
| Custom TCP Rule |
TCP |
60001 – 60100 |
0.0.0.0/0 |