使用ECS搭建FTP服務
目的
FTP可以用來通路伺服器端的檔案、傳輸效率高。
環境
CentOS x86
打開 vsftpd 服務
支援本地通路和匿名使用者通路其中一種
- 安裝
> yum install -y vsftpd
...
Installed:
vsftpd.x86_64 0:3.0.2-27.el7
Complete!
- 啟動FTP
> systemctl enable vsftpd.service
...
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
> systemctl start vsftpd.service
...
Job for vsftpd.service failed because the control process exited with error code. See "systemctl status vsftpd.service" and "journalctl -xe" for details.
- 檢視監聽端口
> netstat -antup | grep ftp tcp 0 0 0.0.0.0:21 0.0.0.0:* ... tcp6 0 0 :::21 :::* ...
配置vsftp
- 匿名使用者模式
> vim /etc/vsftpd/vsftpd.conf ... anon_upload_enable=YES ... > chmod o+w /var/ftp/pub/ systemctl restart vsftpd.service
- 本地使用者模式
> adduser ftptest
> passwd ftptest
a********
> mkdir /var/ftp/test # FTP服務使用的檔案夾
> chown -R ftptest:ftptest /var/ftp/test
主動模式
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 #設定本地使用者登入後所在的目錄
> vim /etc/vsftpd/chroot_list # 例外使用者名單
> systemctl restart vsftpd.service
測試
浏覽器通路 ftp://:21 進行檔案操作