歡迎您光臨本站 註冊首頁

proftp的常見問題

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0
關於proftp的問題,我總結了幾個FAQ和大家分享:
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 WRITE >
AllowAll
</Limit>
才可以.

註:一些特殊的要求可以通過limit選項來限制或是准許.

有關Limit模塊的選項及說明如下:
CMD 改變目錄
MKD 建立目錄的許可權
RNFR 更改目錄名的許可權
DELE 刪除文件的許可權
RMD 刪除目錄的許可權
RETR 從服務端下載到客戶端的許可權
STOR 從客戶端上傳到服務端的許可權
READ 可讀的許可權,不包括列目錄的許可權,相當於RETR,STAT等
WRITE 寫文件或者目錄的許可權,包括MKD和RMD
DIRS 是否允許列目錄,相當於LIST,NLST等許可權,還是比較實用的
ALL 所有許可權
LOGIN 是否允許登陸的許可權

有關Limit執行動作以及功能說明如下表:
Allow 授權訪問的主機
Deny 拒絕訪問的主機
AllowUser 針對某個用戶允許的Limit選項
DenyUser 針對某個用戶禁止的Limit選項
AllowGroup 針對某個用戶組允許的Limit選項
DenyGroup 針對某個用戶組禁止的Limit選項


AllowAll 針對所有用戶組允許的Limit選項
DenyAll 針對所有用戶禁止的Limit選項

4、如何限制ftp的匿名登錄?
限制匿名用戶可以在/etc/ftpusers里,您把要限制的匿名用戶加在裡面即可
匿名的名稱是ftp,anonymous.

5、 ftp上傳的時候不能上傳同名文件?

ftp的配置文件中默認是准許匿名覆蓋上傳的,可以看下ftp的配置文件

對應的用戶的設置段中的AllowOverwrite 值判定,no是不准許,yes是准許

然後重啟ftp服務即可.

6、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個用
戶,否則就沒有埠可以分配了.但載入模塊則沒有這個問題

7、如何使用ftp的自動登錄
可以使用使用netrc文件進行自動FTP
在客戶端:在自己的home目錄下建立一個許可權為600,後綴名為.netrc的文件,
內容如下:
machine ftpserver ip login 用戶名 passwoord 密碼

eg:machine 172.16.81.210 login test password abc123

然後就可以成功,

操作過程:
vi test.netrc
內容為:machine 172.16.81.210 login test password abc123
保存退出

chmod 600 test.netrc

本身的ftp的配置文件是不可實現這種功能的

8、 把ftp中的一個目錄刪掉了,是否能恢復

ftp中把目錄刪除掉,也就是在系統中刪除掉了,是無法恢復的.

9、 如何在終端下添加ftp用戶?
用useradd添加一個系統用戶即可,並保證這個用戶不在/etc/ftpusers
裡面,這個裡面的是不允許登錄的用戶.



10、報錯如下:
IPv4 getaddrinfo 'bsp' error: Name or service not known
warning: unable to determine IP address of 'bsp'
error: no valid servers configured
Fatal: error processing configuration file '/opt/proftp/etc/proftpd.conf'

解決辦法:vi /etc/sysconfig/network
修改欄位HOSTNAME=localhost.localdomain(主機名)
然後重啟伺服器,看可否解決您的問題

11、 ftp啟動的時候報「socket opertion on non-spcket localhost.localdomain
(running form commond line?) use servertype standalone in config file」報
錯啟不來

把proftp文件中的ServerType inetd改為「standalone」然後在重啟ftp服務


12、 ftp中怎樣設置個人用的ftp資源(條件是只能個人查看和修改).
可以直接通過改變文件目錄的屬性來實現,
例如data目錄下有a、b、c三個目錄分別想讓user1、user2、user3個不同用戶使用.
然後執行
先進入/data目錄下
chown user1:user1 a/
chmod 744 a/
chown user2:user2 b/
chmod 744 b/
chown user3:user3 c/
chmod 744 c/
然後客戶端登錄的時候他們對其他的目錄就沒有訪問許可權.

13、 ftp可以上傳一個目錄嗎?
ftp是沒有這種功能的,只能是mget傳輸當前目錄下的所有文件.
不過可以使用scp命令,先把ssh服務打開,然後執行命令(下載server上一個目錄
及包含的子目錄)
scp -r username@serverip:/目錄名 本機保存的位置.
然後會提示輸入對應用戶的密碼.


[火星人 ] proftp的常見問題已經有652次圍觀

http://coctec.com/docs/linux/show-post-53557.html