1. 程式人生 > 其它 >CentOS7 安裝FTP服務

CentOS7 安裝FTP服務

使用VSFTPD在CentOS7上安裝FTP服務

使用VSFTPD安裝FTP服務

  1. 首先更新軟體包管理器
    sudo yum update
  2. 使用VSFTPD(VSFTPD表示“非常安裝的FTP守護程式軟體包”)。這是用於建立FTP伺服器的相對容易的軟體使用工具。使用命令安裝VSFTPDsudo yum install vsftpd
  3. 啟動服務,並將其設定為開機啟動
    啟動服務
    sudo systemctl start vsftpd
    遇到一個錯誤

    具體還沒有找到原因,不過在重啟之後防火牆沒開啟之前成功啟動vsftpd服務,現在只能這麼解決了。

    配置開機啟動
    sudo systemctl enable vsftpd
  4. 配置防火牆
    防火牆還沒有啟動,首先啟動防火牆
    sudo systemctl start firewalld
    新建一個防火牆規則,以允許埠21以及40000-450000的埠。
    sudo firewall-cmd --zone=public --permanent --add-port=21/tcp

    sudo firewall-cmd --zone=public --permanent --add-service=ftp
    sudo firewall-cmd --zone=public --permanent --add-port=40000-45000/tcp

    重啟防火牆,使配置生效。
    sudo firewall-cmd --reload

配置VSFTPD

FTP可通過主動模式和被動模式與客戶機進行連線並傳輸資料。由於大多數客戶端機器的防火牆設定及無法獲取真實IP等原因。建議選擇被動模式搭建FTP服務,以下為被動模式的配置,FTP服務的行為由/etc/vsftpd/vsftpd.conf配置檔案確定。

  1. 首先備份配置檔案的副本

    sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.default

    這樣可以確保出現問題之後,可以返回到預設的配置。

  2. 使用命令編輯配置檔案

    anonymous_enable=NO
    local_enable=YES
    chroot_local_user=YES
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list
    listen=YES
    local_root=/var/ftp/test
    allow_writeable_chroot=YES
    pasv_enable=YES
    pasv_address=xxx.xx.xxx.xx #請修改為您的 Linux 雲伺服器公網 IP
    pasv_min_port=40000
    pasv_max_port=45000
    
  3. vsftpd提供了一種建立批准使用者列表的方法。要以這種方式管理使用者,在配置檔案中新增

    userlist_enable=YES
    userlist_file=/etc/vsftpd/user_list
    userlist_deny=NO
    

建立使用者

  1. 建立一個新的FTP使用者

    sudo adduser ftpyao

  2. 為使用者yao設定密碼

    sudo passwd ftpyao

  3. 將使用者新增到使用者列表
    echo "ftpyao" | sudo tee -a /etc/vsftpd/user_list

  4. 為新使用者建立目錄,並調整許可權

    sudo mkdir -p /home/ftpyao/ftp/upload
    sudo chmod 550 /home/ftpyao/ftp
    sudo chmod 750 /home/ftpyao/ftp/upload
    sudo chown -R ftpyao: /home/ftpyao/ftp