今天花了一個早上時間,使用了proftpd搭建了一個ftp伺服器,期間也遇到過一些問題,做一下記錄。
1. 權限如何限制
limit屬性可以有:
cmd:change working directory 改變目錄
mkd:make directory 建立目錄的權限
rnfr: rename from 更改目錄名的權限
dele:delete 删除檔案的權限
rmd:remove directory 删除目錄的權限
retr:retrieve 從服務端下載下傳到用戶端的權限
stor:store 從用戶端上傳到服務端的權限
read:可讀的權限,不包括列目錄的權限,相當于retr,stat等
write:寫檔案或者目錄的權限,包括mkd和rmd
dirs:是否允許列目錄,相當于list,nlst等權限,還是比較實用的
all:所有權限
login:是否允許登陸的權限
權限控制:
allowuser 針對某個使用者允許的limit
denyuser 針對某個使用者禁止的limit
allowgroup 針對某個使用者組允許的limit
denygroup 針對某個使用者組禁止的limit
allowall 針對所有使用者組允許的limit
denyall 針對所有使用者禁止的limit
2. 上傳/下載下傳速度限制 ,這個也是做ftp最關心的
transferrate stor 2048 group movie ##上傳,最後跟屬主,比如user,group
transferrate retr 2048 group movie ##下i載, 最後跟屬主,比如user,group
3. 匿名使用者設定,使用proftpd控制還是比較友善的,控制隻允許隻讀和上傳
4. 檔案編碼問題, 因為我電腦裝了ubuntu,使用的是utf-8編碼,是以我這邊上傳的電影片名都是使用了utf-8編碼,是以在用ie浏覽器打開時就出現編碼問題,需要手工轉換,不是很友善。
網上找了個指令,輕松搞定編碼轉化問題:
檔案名轉換: convmv
參數:
-f 原始編碼
-t 目标編碼
-r 遞歸處理
--notest 假處理,根svn --dry-run一樣的概念,看看哪些檔案需要處理
内容轉換: iconv
-f 原始編碼
-t 目标編碼
具體指令:
convmv -f utf8 -t gb2312 -r *
5. ftp帳号登入通路,因為設定了匿名帳号,是以直接通路ftp://xxxx就直接以匿名登入了,如果我要切換使用者名咋辦?
通路url :
ftp://user@xxxx #指定登入的使用者名,需要輸入密碼
ftp://user:pwd@xxx #直接通過指定的使用者名和密碼進行登入
搞定。
最後的proftpd.conf配置: