1、配置Ftp允許Root登入
修改/etc/ftpusers,去掉root
2、如果希望實現Root使用者Ftp後可以切換到/目錄
一般使用者只能切換到自己的主目錄,修改/etc/proftpd.conf檔案,在DefaultRoot
一行前面增加一行
DefaultRoot / root
重新啟動proftpd服務即可。
改變匿名登入的不想登入到預設的 /var/ftp目錄
就要把/etc/passwd檔案中的
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
中的預設目錄改變了即可。
3、Ftp具有寫入功能請在/etc/proftpd.conf檔案中的<Global>段中改為如下:
<Limit STOR>
AllowAll
</Limit>
才可以。
4、Ftp改為PASV模式
在我們紅旗dc 5.0中的設定是在proftpd.conf中添加如下兩條語句即可。
MasqueradeAddress ip地址
#該參數設定在client發pasv指令時,server返回給client的pasv地址串中應該包含的串連地址,
#該地址通常是防火牆的外部地址(作rdr的地址)
PassivePorts 連接埠號碼
設定好之後重啟一下ftp服務。
FTP的串連一般是有兩個串連的,一個是客戶程和伺服器傳輸命令的,另一個是資料傳送的串連。FTP服務程式一般會支援兩種不同的模式,一種是Port模式,一種是
Passive模式(PasvMode),我先說說這兩種不同模式串連方式的分別。
先假設用戶端為C,服務端為S.
*Port模式:*
當用戶端C向服務端S串連後,使用的是Port模式,那麼用戶端C會發送一條命令告訴服務端S(用戶端C在本地開啟了一個連接埠N在等著你進行資料連線),當服務端S收
到這個Port命令後
就會向用戶端開啟的那個連接埠N進行串連,這種資料連線就產生了。
*Pasv模式:*
當用戶端C向服務端S串連後,服務端S會發資訊給用戶端C,這個資訊是(服務端S在本地開啟了一個連接埠M,你現在去串連我吧),當用戶端C收到這個資訊後,就可以向服
務端S的M連接埠進行串連,串連成功後,資料連線也建立了。
從上面的解釋中,兩種模式主要的不同是資料連線建立的不同,對於Port模式,是用戶端C在本地開啟一個連接埠等服務端S去串連建立資料連線;而Pasv模式就是服務端
S開啟一個連接埠等待用戶端C去建立一個資料連線。
關於ftp的pasv模式,有一種情況:
如果是通過iptables轉寄到內網的一台伺服器,預設只能用port模式,此時,可以增加兩個iptables模組,以實現pasv模式:
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
放入/etc/rc.local即可。(閘道伺服器上設定,或在配置了iptables的機器上設定)
當然,通過修改proftpd.conf,指定允許的連接埠也可以,但這個會有限制,就是pasv port連接埠是固定的,假設數量是51000-510011,則只能提供給最多11個使用者,否則就沒有連接埠可以分配了。但載入模組則沒有這個問題。