2008年10月30日 星期四

Proftp - 古老好用的通訊協定

http://www.proftpd.org/

Proftp 的官方網站...
這套軟體在網路的教學很多很多了,這邊就寫一些"妹妹角角"...

首先使用好用到嚇死人的aptitude 把這套給裝好...

他有兩種運作模式
  • standalone
  • inetd
關於inetd的故事以後再說好了 囧>,現在都使用xinetd了唷...

所以這邊講standalone mode

注意的檔案

/etc/proftp/proftp.conf

內容看了就會懂了,所以就自己看吧...(打暈拖走)

這個conf關係著FTP 的運作,所以有幾個要注意的
  • 類似apache 的設定哲學
     <Directory *>
        <Limit WRITE>
          DenyAll
        </Limit>
      </Directory>
    這意思是說 "只讀" <==不給寫啦
    <Limit READ>
          Allowall
        </Limit>
    大家都可以讀
所以通常一個upload 的目錄我們就會這樣
 <Directory *>
    <Limit READ>
      Denyall
    </Limit>
<Limit WRITE>
      Allowall
    </Limit>
  </Directory>
這樣就只能上傳不給偷看!!!

  • CWD  :換目錄
  • MKD  :建目錄
  • RNFR :改檔名
  • DELE :砍檔案
  • RMD  :砍目錄
  • RETR :可抓
  • READ :可讀取與否
  • WRITE:可寫入與否
  • STOR :可上傳
  • ALL  :全部的動作!
大概有上面這些...

ㄧ般來說FTP 啟動之後就可以直接讓real user 連進來用(就是linux裡面真實存在的用戶)

通常會想要讓"不知名人士來泡茶"才有架站的快感!!!<=Anonymous

就是在
<Anonymous ~ftp>
</Anonymous>
當中來管理!!!

EX:
<Anonymous ~ftp>
User    ftp
Group    nogroup
UserAlias    anonymous ftp
MaxClients    10
RequireValidShell        off
DisplayLogin    welcome.msg
DisplayFirstChdir    .message
 <Directory *>
    <Limit WRITE>
      DenyAll
    </Limit>
  </Directory>
</Anonymous>

注意:RequireValidShell        off
這個一定要有 O__Q
我沒有就登不進去...切記!!!

不知名遊客的登入的位置在/home/ftp/
這個家目錄裡

---
這邊來說管理real user

DefaultRoot ~
#~符號是家目錄的意思,可以限制使用者只能在家目錄底下活動
DefaultRoot ~ abc
#abc 是群組名稱,只有這個群組的人才會被限制


也可以讓real user 到處亂逛,但是把目錄個別所起來
<Directory />
  AllowOverwrite                on
</Directory>
<Directory /home/ftp/>
  <Limit WRITE>
  Denyall
  </Limit>
</Directory>
#這樣就是都可以自由逛,但是/home/ftp/ 不給寫


細節鬼東西,有空在補 囧> 這樣夠用啦!!!