星期一, 7月 15, 2024

同時在vsftp上跑FTP跟FTPS

 事情是醬子的,由於某種特殊需求需要使用到FTP,於是興高采烈地把VSFTP架設好,很有資安意識的在上面加了SSL,就在看似美好準備打完收工之餘,此時做上最後的測試,使用WINDOWS檔案總管把FTP掛載進來,此時無論怎麼掛載都是失敗的,查了一下才發現檔案總管似乎是不支援FTPS。(WHAT ? 肥宅驚訝表情包!!!)


當下立刻把方向網內網跑FTP(檔案總管掛載),外網跑FTPS,那麼只要同時跑FTP跟FTPS 協定不就得了,就像APACHE 一樣。

於是開始Google了起來,越查案情越不單純,似乎方向都指向執行多個VSFTP。


大致的方向分成兩個部分,一個是VSFTP的CONFIG,另一個是啓動VSFTP的程序。


  1. 先複製VSFTP 的CONFIG
     sudo cp /etc/vsftpd.conf /etc/vsftpd2.conf
  2. config檔的重點大概就是listen = YES,listen_port 分別指定不同PORT,需要跑FTPS記得加上SSL相關設定。
    listen=YES
    listen_port=990
  3. 接著可以準備複製init.d的啓動程序
    sudo cp /etc/init.d/vsftpd /etc/init.d/vsftpd2
  4. 接下來只要針對複製出來的vsftpd2進行修改即可,修改的重點大概如下
    DAEMON="/usr/sbin/vsftpd"
    ARGS="/etc/vsftpd2.conf"
    NAME="vsftpd2"
    CHROOT="/var/run/vsftpd2/empty"
    ----(略)---
    --pidfile /var/run/vsftpd/vsftpd
    2.pid --exec ${DAEMON} -- ${ARGS}
  5. 接下來就可以開心地測試
    sudo /etc/init.d/vsftpd start
    sudo /etc/init.d/vsftpd2 start
  6. 檢查服務是否都有起來並且在正確的指定PORT號上
    netstat -tulpn

參考來源:

ubuntu - How do you setup multiple instances of vsftpd to run on different listen ports? - Server Fault

沒有留言: