天天看點

使用ECS搭建FTP服務使用ECS搭建FTP服務

使用ECS搭建FTP服務

目的

FTP可以用來通路伺服器端的檔案、傳輸效率高。

環境

CentOS x86

打開 vsftpd 服務

支援本地通路和匿名使用者通路其中一種

  1. 安裝
> yum install -y vsftpd
...
Installed:
  vsftpd.x86_64 0:3.0.2-27.el7                                                   
Complete!           
  1. 啟動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.           
  1. 檢視監聽端口
    > 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 進行檔案操作

繼續閱讀