2015年3月10日

Arch Linux - FTP 伺服器設定 ( Set up a FTP server on Arch Linux )

在 Arch Linux 上建立一個 FTP 伺服器是相當簡單的,本篇將紀錄如何利用 Very Secure FTP Daemon ( vsftpd ) 來完成 FTP 伺服器的設定。( 其他 Arch Linux 相關教學可以參考本篇整理 )



安裝 vsftpd:
照慣例地使用 pacman 在 Arch Linux 上安裝軟體
pacman -S vsftpd
安裝完後啟動 vsftpd
systemctl start vsftpd
順便將 vsftpd  設定為開機即自動啟動
systemctl enable vsftpd


設定連線相關參數:
vsftpd 相關參數設定都儲存於 /etc/vsftpd.conf 設定檔中,簡易的設定如下:
不允許匿名使用者登入
# Allow anonymous FTP?
anonymous_enable=NO
允許本地使用者登入
# Uncomment this to allow local users to log in.
local_enable=YES
允許上傳資料
# Uncomment this to enable any form of FTP write command.
write_enable=YES
允許該使用者讀寫檔案,且其他使用者可以讀取你的檔案
local_umask=022
紀錄使用者上下傳檔案過程
# Activate logging of uploads/downloads.
xferlog_enable=YES
記錄檔案檔名與位置
# You may override where the log file goes if you like.
# The default is shown below.
xferlog_file=/var/log/vsftpd.log
編輯歡迎登入訊息
# You may fully customise the login banner string:
ftpd_banner=Welcome to blah FTP service.


限制使用者登入:
首先在 vsftpd 設定檔中加入兩個參數,第二個參數值定義了哪些使用者無法登入的清單
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
記得 vsftpd.user_list 需要自己新增,若沒有使用者清單檔案是無法正常登入,會出現以下訊息:
500 OOPS: cannot read user list file:/etc/vsftpd.user_list
若要將此功能改為只允許清單上的使用者登入,需要在 vsftpd 設定檔中加入下面參數:
userlist_deny=NO


重新啟動 vsftpd 服務:
別忘了要重啟服務上面設定的參數才會生效
systemctl restart vsftpd


Environment :
  ・ Arch Linux
  ・ Raspberry Pi Model B

Reference :
  ・ Arch Linux Wiki


熱門文章