国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
文件傳輸(FTP)服務(wù)器 - Fedora 10 - 豐哥的Linux小站
文件傳輸(FTP)服務(wù)器
文件傳輸服務(wù)器
 
編者小語:豐哥的Linux小站:linuxdocs.cublog.cn
 
    剛開始接觸計(jì)算機(jī)時(shí),不像現(xiàn)在實(shí)時(shí)通信軟件這么發(fā)達(dá),我們隨時(shí)可通過MSN、QQ等傳送信息以及文件。因此要下載文件,多半都是使用FTP這樣的服務(wù),特別是影音文件、辦公軟件以及應(yīng)用軟件。
    網(wǎng)絡(luò)開始興起時(shí),一般撥接上網(wǎng)的速度為64K bits,實(shí)際可用頂多40到50K bits(約5-6K Bytes),因此在文件的傳輸上,必須使用最省時(shí)的傳輸方式。試想,一個(gè)3M Bytes的mp3文件,F(xiàn)TP就要花十來分鐘下載,更別說其他的傳輸方式了。
    時(shí)至今日,盡管文件傳輸方式已經(jīng)相當(dāng)多元且網(wǎng)絡(luò)帶寬已經(jīng)到達(dá)1M bits以上,但FTP仍占有一席之地,主要原因還是對(duì)于單一文件的傳輸效能較好。若我們要傳遞數(shù)十或是數(shù)百兆的文件,透過FTP來傳輸仍是不二之選。
    筆者第一次架設(shè)FTP服務(wù)器,是用Serv-U這軟件在Windows 98上架設(shè),安裝一個(gè)軟件、開個(gè)用戶、并設(shè)定登入目錄,就可以讓人聯(lián)機(jī)抓取數(shù)據(jù)。這雖然方便,但整體的功能、穩(wěn)定性、與安全性不足,直到后來接觸Unix與Linux,才開始操作功能性較強(qiáng)的FTP服務(wù)器:WU-FTP。
    WU-FTP這軟件在眾多Linux中被廣泛的使用,直到Red Hat 9中將默認(rèn)的FTP服務(wù)器改為VSFTP后,才慢慢的淡出Linux FTP服務(wù)器?,F(xiàn)在盡管還有許多人愛用WU-FTP,但多數(shù)的Linux套件商已將VSFTP做為默認(rèn)的FTP服務(wù)器。
 
1  FTP服務(wù)概述
 
1.1  FTP服務(wù)器簡介
 
 ◆FTP協(xié)議與運(yùn)行原理
    FTP,file transfer protocol,這是文件傳輸?shù)耐ㄓ崊f(xié)議,也是一般最常用來傳送文件的方式。
 
 ◆Port與Passive傳輸模式豐哥的Linux  小站:li   nu  xd  ocs .cub   log  .c  n
    FTP分為兩類,一種為PORT FTP,也就是一般的FTP﹔另一類是Passive FTP,分述如下:
    PORT FTP是一般形式的FTP,首先會(huì)建立控制頻道,默認(rèn)值是port 21,也就是跟port 21建立聯(lián)機(jī),并透過此聯(lián)機(jī)下達(dá)命令。其次,由FTP server端會(huì)建立數(shù)據(jù)傳輸頻道,默認(rèn)值為20,也就是跟port 20建立聯(lián)機(jī),并透過port 20作數(shù)據(jù)的傳輸。
    PASV FTP跟PORT FTP類似,首先會(huì)建立控制頻道,默認(rèn)值是port 21,也就是跟port 21建立聯(lián)機(jī),并透過此聯(lián)機(jī)下達(dá)命令。其次,會(huì)由client端做出數(shù)據(jù)傳輸?shù)恼?qǐng)求,包括數(shù)據(jù)傳輸port的數(shù)字。
    這兩者的差異為何?PORT FTP當(dāng)中的數(shù)據(jù)傳輸port是由FTP server指定,而PASV FTP的數(shù)據(jù)傳輸port是由FTP client決定。通常我們使用PASV FTP,是在有防火墻的環(huán)境之下,透過client與server的溝通,決定數(shù)據(jù)傳輸?shù)膒ort。
 
 ◆WU-FTP
WU-FTP是Washington University FTP的簡稱,顧名思義,就是由美國華盛頓大學(xué)研發(fā)而成的FTP服務(wù)器軟件,這在早期的Linux中為默認(rèn)的FTP服務(wù)器,但在這三年來,已較少被使用。

 ◆VSFTP
    VSFTP,是Very Secure FTP的簡稱,表示它是一個(gè)非常安全的FTP服務(wù)器。從Red Hat 9之后的版本,包括Fedora、Red Hat Enterprise、Mandriva等都以它為默認(rèn)的服務(wù)器。
從Red Hat的歷史來看,VSFTP服務(wù)器做了一些改變:第一,ftp server(FTP服務(wù)器)中只剩下vsftp,原有的wuftp、proftp等都沒放入﹔第二,vsftp從XINETD中獨(dú)立出來,并將配置文件從 /etc/vsftpd.conf之中移到 /etc/vsftpd/vsftpd.conf。
    這樣的改變的原因有二:第一,vsftp已有獨(dú)立運(yùn)作的能力,不需要藉由XINETD啟動(dòng)﹔第二,本身功能與安全控管強(qiáng)大,不需要躲在XINETD的保護(hù)之下。此外,類似sendmail、httpd、ssh、samba等,將配置文件放入/etc下的獨(dú)立目錄vsftpd。到了近期的Red Hat enterprise與Fedora中,vsftp結(jié)合了SELinux更強(qiáng)大的安全防護(hù),在使用上多了根目錄的權(quán)限限制。
 
1.2  FTP的優(yōu)點(diǎn)與適用環(huán)境
 
    FTP的用途就是網(wǎng)絡(luò)上的文件傳輸,除了FTP之外,網(wǎng)上的文件傳輸方式還包括網(wǎng)上鄰居的復(fù)制黏貼、實(shí)時(shí)通訊軟件的點(diǎn)對(duì)點(diǎn)傳輸、E-mail的附檔夾帶等。在這眾多的傳輸方式中,F(xiàn)TP是最節(jié)省資源,且傳輸效益最高的一種方式。
 
2  安裝與運(yùn)行
 
2.1  軟件安裝
 
    VSFTP軟件的來源有二:一者為安裝光盤中的文件,一者為網(wǎng)絡(luò)下載的文件。
 ◆yum安裝(Red Hat與Fedora下的安裝)

    使用yum的命令為yum install vsftpd,執(zhí)行過程如下:
 

[root@localhost ~]# yum install vsftpd

載入插件: refresh-packagekit

設(shè)置安裝進(jìn)程

分析安裝參數(shù)的語法

解決依賴相關(guān)

-->運(yùn)行處理檢查

---> 包 vsftpd.i386 0:2.0.7-1.fc10 設(shè)置為 升級(jí)

updates/filelists_db | 1.4 MB 02:11

--> 完成依賴性檢查

 

依賴性解決

=======================================================================

包       架構(gòu)    版本            倉庫       大小

=======================================================================

正在安裝:

vsftpd   i386   2.0.7-1.fc10    fedora    145 k

Transaction Summary

=======================================================================

Install 1 Package(s)

Update 0 Package(s)

Remove 0 Package(s)

總共下載大小: 145 k

確定是這樣嗎? [y/N]: y                      -->輸入y繼續(xù)

下載軟件包: vsftpd-2.0.7-1.fc10.i386.rpm | 145 kB 00:02

運(yùn)行 rpm_check_debug

運(yùn)行測試事務(wù)處理

傳輸測試完成

事務(wù)處理測試成功

運(yùn)行事務(wù)處理

 

已安裝:

vsftpd.i386 0:2.0.7-1.fc10

恭喜你!成功完成!

 ◆apt-get安裝(Debian與Ubuntu下的安裝)(本文略)
 ◆emerge安裝(gentoo下的安裝)(本文略)
 ◆原始文件安裝(本文略,需要請(qǐng)留言)

2.2  啟動(dòng)與停止
    如果透過套件管理程序,如R
PM、apt-get、或emerge安裝的服務(wù)器,可透過以下方式啟動(dòng)與停止。
我們可以使用以下命令啟動(dòng)VSFTP服務(wù)器:
/etc/init.d/vsftpd start
執(zhí)行過程如下:

[root@localhost ~]# /etc/init.d/vsftpd start

為 vsftpd 啟動(dòng) vsftpd:                                                                [ 確定 ]

若要停止服務(wù)器,可使用以下命令:
/etc/init.d/vsftpd stop
執(zhí)行過程如下:

[root@localhost ~]# /etc/init.d/vsftpd stop

關(guān)閉 vsftpd:                                                                             [ 確定 ]

若要重新啟動(dòng)服務(wù)器,可使用以下命令:
/etc/init.d/vsftpd restart
執(zhí)行過程如下:

[root@S ~]# /etc/init.d/vsftpd restart

關(guān)閉 vsftpd:                                                                              [ 確定 ]

為 vsftpd 啟動(dòng) vsftpd:                                                                 [ 確定 ]

3  配置實(shí)例豐  哥  的  L  i  n  u  x  小   站:linuxdocs.cublog.cn

    在這節(jié)中介紹VSFTP的配置實(shí)例,讓讀者了解VSFTP服務(wù)器應(yīng)用的層面。若讀者需要架設(shè)FTP服務(wù)器,也可以根據(jù)自身的需要在底下的范例中挑選適合者加以應(yīng)用。

3.1  一般運(yùn)行范例

    這里介紹的是VSFTP一般運(yùn)行的范例,包含直接運(yùn)行、更換port、以及一些問題的處理。

范例1. 直接啟動(dòng)VSFTP服務(wù)

圖1
    這個(gè)范例是套用Fedora的默認(rèn)范例,直接啟動(dòng)vsftp。用戶可聯(lián)機(jī)服務(wù)器的端口21,如圖1所示。
    /etc/init.d/vsftpd start
 
范例2. 目錄亂碼問題
 
    這個(gè)問題源于編碼,因此使用FTP時(shí)應(yīng)避免使用中文。在終端機(jī)輸入的中文,在FTP上會(huì)是亂碼,反之亦然。若要使用中文,可統(tǒng)一在FTP上使用。
    在第一次啟動(dòng)時(shí)所建立的用戶,系統(tǒng)會(huì)默認(rèn)建立以下的目錄:
 
[root@localhost admin]# ll
總計(jì) 148
drwxrwxr-x 2 admin admin  4096 2007-06-05 18:43 www
drwxr-xr-x 2 admin admin  4096 2007-06-01 23:21 下載
drwxr-xr-x 2 admin admin  4096 2007-06-01 23:21 公共
drwxr-xr-x 2 admin admin  4096 2007-06-01 23:21 圖片
drwxr-xr-x 2 admin admin  4096 2007-06-01 23:21 影片
drwxr-xr-x 2 admin admin  4096 2007-06-01 23:21 文件
drwxr-xr-x 2 admin admin  4096 2007-06-01 23:21 桌面
drwxr-xr-x 2 admin admin  4096 2007-06-01 23:21 模板
drwxr-xr-x 2 admin admin  4096 2007-06-01 23:21 音樂

    這些目錄在FTP所見會(huì)是亂碼,若無特別需要,可直接刪除這些目錄。之后使用useradd,或是圖形接口新增用戶,并不會(huì)產(chǎn)生這些目錄,因此不會(huì)再有這樣的亂碼。

范例3. 文件時(shí)間錯(cuò)誤問題

    在vsftp之中的時(shí)間默認(rèn)值是顯是GMT時(shí)間,因此我們會(huì)發(fā)現(xiàn)上面的時(shí)間與我們時(shí)寄存取的時(shí)間差八小時(shí)。要調(diào)整這個(gè)設(shè)定,可在/etc/vsftpd/vsftpd.conf中新增以下一行:

use_localtime=YES

    接著重新啟動(dòng)vsftpd即可:豐哥的Linux小站:linuxdocs.cublog.cn
    /etc/init.d/vsftpd restart

范例4. 更換port提供服務(wù):將默認(rèn)的port 21更換為2121

 

圖2
    為了安全或是隱密性,我們會(huì)將ftp port換為默認(rèn)21之外的port。在本例中以更換為2121端口為例說明,如圖2,步驟如下:
Step1. 修改 /etc/vsftpd/vsftpd.conf
    新增下面一行
 

listen_port=2121

Step2. 重新啟動(dòng)vsftpd
    /etc/init.d/vsftpd restart
!要注意,改了port要注意防火墻的設(shè)定喔??!

3.2  匿名登錄權(quán)限配置

    這里介紹的是匿名登錄,也就是anonymous登入的相關(guān)設(shè)定。

范例5. 讓匿名登錄者anonymous可以上傳文件

    若是我們?cè)试S匿名者登入并上傳文件,則可參考以下步驟:

Step1. 修改 /etc/vsftpd/vsftpd.conf

anonymous_enable=YES
anon_upload_enable=NO

改為

anonymous_enable=YES                   # <=確定這行為YES
anon_upload_enable=YES                 # 將這行的NO改為YES即可
anon_mkdir_write_enable=YES          # 若加上這行,則匿名登錄者可新增目錄

Step2. 重新啟動(dòng)vsftpd
/etc/init.d/vsftpd restart

Step3. 修改/var/ftp/pub/的目錄權(quán)限
執(zhí)行以下命令:
chmod -R 777 /var/ftp/pub/

Step4. 修改/var/ftp/pub的SELinux權(quán)限
執(zhí)行以下命令,修改/var/ftp/pub這目錄的類型:
chcon -R -t ftpd_anon_rw_t /var/ftp/pub/

范例6. 取消anonymous登錄

圖3
若是我們的主機(jī)拒絕用戶匿名登錄,如圖3,則可參考以下步驟:
Step1. 修改 /etc/vsftpd/vsftpd.conf

anonymous_enable=YES

改為

anonymous_enable=NO

Step2. 重新啟動(dòng)vsftpd
/etc/init.d/vsftpd restart

3.3  本機(jī)用戶的配置豐 哥   的   Linux小站 : l i n u x docs.cublog.cn
這里介紹本機(jī)用戶的相關(guān)配置,包含各別用戶的控管與高級(jí)設(shè)置。

范例7. 允許本機(jī)的用戶上傳或是下載文件
   

    設(shè)定位置在/etc/vsftpd/vsftpd.conf,內(nèi)容如下:

local_enable=YES
write_enable=YES

!若安裝SELinux,會(huì)發(fā)現(xiàn)通過了密碼驗(yàn)證,但就是看不到目錄。這是由于SELinux的保護(hù)措施。我們必須使用root的身份執(zhí)行:setsebool ftp_home_dir 1
執(zhí)行后就可以聯(lián)機(jī)并正確登錄。

范例8. 不允許本機(jī)的用戶上傳或是下載文件

    若是完全不希望有任何FTP的行為,當(dāng)然關(guān)閉FTP服務(wù)器,命令如下:
    /etc/init.d/vsftpd stop

    若我們?cè)试S匿名登錄但不希望本機(jī)用戶登入,可執(zhí)行以下步驟:

Step1. 修改 /etc/vsftpd/vsftpd.conf
修改下面一行:

local_enable=YES

改為

local_enable=NO

Step2. 重新啟動(dòng)vsftpd
    /etc/init.d/vsftpd restart

范例9. 限制本機(jī)用戶可使用FTP的名單

圖4

    如圖4,若我們接受用戶kevin登入,但不接受用戶test登入,可以透過userlist_enableuserlist_deny這兩個(gè)參數(shù)達(dá)到這樣的要求,步驟如下:豐哥 的Linux小站:linuxdocs.cublog.cn
 
Step1. 修改 /etc/vsftpd/vsftpd.conf
新增底下兩行:

userlist_enable=YES
userlist_deny=NO

Step2. 重新啟動(dòng)vsftpd
    /etc/init.d/vsftpd restart

執(zhí)行完畢后,我們只要將允許訪問的名單kevin建立在/etc/vsftpd.user_list之中即可。不在這文件內(nèi)的名單將無法登入FTP服務(wù)器。

范例10. 改變根目錄
    在vsftpd中默認(rèn)的根目錄是用戶登入的根目錄,默認(rèn)值為/home/用戶名稱,若要改成其他路徑,可新增底下一行:

local_root=/opt

    接著重新啟動(dòng)vsftpd即可:
    /etc/init.d/vsftpd restart
    這樣我們就把ftp登入的目錄改到/opt之下了。要注意,這樣的設(shè)定會(huì)讓所有的用戶登入ftp都會(huì)到/opt之下。

范例11. 特定用戶peter、john不得變更目錄
    用戶的默認(rèn)目錄為/home/username,若是我們不希望用戶在ftp時(shí)能夠切換到上一層目錄/home,則可參考以下步驟。

Step1. 修改 /etc/vsftpd/vsftpd.conf
將底下三行

#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list

改為

chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd.chroot_list

Step2. 新增一個(gè)文件: /etc/vsftpd/chroot_list
內(nèi)容增加兩行:

peter
john

Step3. 重新啟動(dòng)vsftpd
    /etc/init.d/vsftpd restart
    若是peter欲切換到根目錄以外的目錄,則會(huì)出現(xiàn)以下警告:

ftp> cd /home
550 Failed to change directory.

3.4  來源與安全性的配置
這部分介紹來源地址的控管、聯(lián)機(jī)數(shù)目、防火墻等的結(jié)合與應(yīng)用。

范例12. 將VSFTP與TCP_wrappers結(jié)合
    與TCP_wrappers結(jié)合后可在 /etc/hosts.allow之中定義允許或是拒絕的來源地址,這是簡易的防火墻設(shè)定,具體步驟如下:

Step1. 確定 /etc/vsftpd/vsftpd.conf 之中tcp_wrappers的設(shè)定為YES,如下所示:

tcp_wrappers=YES

Step2. 重新啟動(dòng)vsftpd
    /etc/init.d/vsftpd restart

范例13. 透過TCP_wrappers限制聯(lián)機(jī)的來源
    承接著上例12,當(dāng)我們已經(jīng)將VSFTP與TCP_wrappers結(jié)合后,就可以直接在/etc/hosts.allow中設(shè)置允許聯(lián)機(jī)的IP地址。
    設(shè)定 /etc/hosts.allow,提供111.22.33.4以及10.1.1.110.1.1.254聯(lián)機(jī):

vsftpd : 111.22.33.4 10.1.1. : allow
ALL : ALL : DENY

設(shè)定后直接生效。豐哥的 Li n  ux 小站:lin  uxdocs.cub   log.c  n

范例14. 限制最大聯(lián)機(jī)總數(shù)與用戶最大線程數(shù)

圖5
 
圖6
 
    若我們要限制全部聯(lián)機(jī)的總數(shù),可設(shè)置max_clients這參數(shù);若要限制每個(gè)IP地址最多的聯(lián)機(jī)數(shù),可設(shè)置max_per_ip這參數(shù)。底下設(shè)定最大聯(lián)機(jī)總數(shù)為20(如圖6),用戶最大線程數(shù)為2(如圖5)。
 
Step1. 修改 /etc/vsftpd/vsftpd.conf
設(shè)置底下兩行:

max_clients=15
max_per_ip=2

Step2. 重新啟動(dòng)vsftpd

/etc/init.d/vsftpd restart

范例15. 建置一個(gè)防火墻下的ftp server,使用PORT FTP mode:默認(rèn)的ftp port:21以及ftp data port:20
    啟動(dòng)VSFTPD之后執(zhí)行以下兩行命令,只允許port 21以及port 20開放,其他關(guān)閉。
iptables -A INPUT -p tcp -m multiport --dport 21,20 -j ACCEPT
iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset

范例16. 建置一個(gè)防火墻下的ftp server,使用PORT FTP mode:ftp port:2121以及ftp data port:2020

Step1. 執(zhí)行以下兩行命令,只允許port 2121以及port 2020開放,其他關(guān)閉。
iptables -A INPUT -p tcp -m multiport --dport 2121,2020 -j ACCEPT
iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset

Step2. 修改 /etc/vsftpd/vsftpd.conf
新增底下兩行

listen_port=2121
ftp_data_port=2020

Step3. 重新啟動(dòng)vsftpd
    /etc/init.d/vsftpd restart

注記: 15、16個(gè)例子中,ftp client(如cuteftp)的聯(lián)機(jī)方式不能夠選擇passive mode,否則無法建立數(shù)據(jù)的聯(lián)機(jī)。也就是讀者可以連上ftp server,但是執(zhí)行l(wèi)s、get等等的命令時(shí),便無法運(yùn)作。
    使用PORT FTP mode,會(huì)使得許多在防火墻內(nèi)的主機(jī)無法正常建立FTP data port,導(dǎo)致無法正確聯(lián)機(jī)。

在這邊我們示范一個(gè)linux平臺(tái)上的聯(lián)機(jī)范例:由test聯(lián)機(jī)到11.22.33.1,ftp port為2121,而ftp data port為2020。

 

[scfeng@test scfeng]$ ftp 11.22.33.1 2121
Connected to 11.22.33.1 (11.22.33.1).
220 "======= Welcome to Vulpecula FTP service ======= "
Name (11.22.33.1:scfeng): scfeng
331 Please specify the password.
Password:
230 Login successful. Have fun.
Remote system type is UNIX.
Using binary mode to transfer files.

ftp> ls
227 Entering Passive Mode (11,22,33,1,142,237)
ftp: connect: Connection refused
ftp>

    我們會(huì)發(fā)現(xiàn)無法建立data port聯(lián)機(jī),試試passive這個(gè)命令,來將passive mode設(shè)為off,如下所示:

ftp> passive
Passive mode off.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
drwxr-xr-x 2 500 500 4096 Apr 20 08:05 20030420
-rw-r--r-- 1 500 500 32038828 Apr 20 18:31 RedHat9.exe
drwx------ 2 500 500 4096 Apr 20 08:04 mail
-rw-rw-r-- 1 500 500 85473 Apr 20 12:01 封面.pdf
226 Directory send OK.
ftp>

這樣就能正確聯(lián)機(jī)了。

范例17 建置一個(gè)防火墻下的ftp server,使用PASS FTP mode:ftp port:2121以及ftp data port從9981到9986

Step1. 執(zhí)行以下兩行命令,只允許port 2121以及port 9981-9986開放,其他關(guān)閉。
iptables -A INPUT -p tcp -m multiport --dport 2121,9981,9982,9983,9984,9985,9986 -j ACCEPT
iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset

Step2. 修改 /etc/vsftpd/vsftpd.conf
新增底下四行

listen_port=2121
pasv_enable=YES
pasv_min_port=9981
pasv_max_port=9986

Step3. 重新啟動(dòng)vsftpd
    /etc/init.d/vsftpd restart

注:在這邊要注意,在這個(gè)例子中,ftp client(如cuteftp)的聯(lián)機(jī)方式必須選擇passive mode,否則無法建立數(shù)據(jù)的聯(lián)機(jī)。也就是讀者可以連上ftp server,但是執(zhí)行l(wèi)s、get等等的命令時(shí),便無法運(yùn)作。
    在這范例中限制了FTP data port的范圍:9981-9986共六個(gè)port,一般而言,這個(gè)數(shù)字是太低的,因?yàn)槊總€(gè)client使用passive mode,通常會(huì)建立2到3個(gè)聯(lián)機(jī),因此這個(gè)范圍要看使用量而定。

范例18 將vsftpd并入XINETD(略)

3.5  連接速度的配置豐哥 的Li n ux小站:linuxdo cs.cu blog.cn
這部分介紹連接速度的配置,真對(duì)一般用戶與匿名用戶,以及不同用戶間的配置。

范例19 如圖7,限制傳輸文件的速度:本機(jī)的用戶最高速度為 512K bytes/s,匿名登錄者所能使用的最高速度為256K bytes/s

圖7

Step1. 修改 /etc/vsftpd/vsftpd.conf
新增底下兩行

anon_max_rate=512000
local_max_rate=256000

Step2. 重新啟動(dòng)vsftpd
    /etc/init.d/vsftpd restart

    在這邊速度的單位為Bytes/s,其中anon_max_rate所限制的是匿名登錄的用戶,而local_max_rate所限制的是本機(jī)的用戶。
注記:
VSFTPD對(duì)于速度的限制,范圍大概在80%到120%之間,也就是我們限制最高速度為100KBytes/s,但實(shí)際的速度可能在80KBytes/s到120KBytes/s之間,當(dāng)然,若是帶寬不足時(shí),數(shù)值會(huì)低于此限制。

范例20 如圖8,針對(duì)不同的用戶限制不同的速度:假設(shè)test1(用戶user1)所能使用的最高速度為256KBytes/s,test2(用戶user2)所能使用的最高速度為500KBytes/s

圖8
Step1. 修改 /etc/vsftpd/vsftpd.conf
新增底下一行
 

user_config_dir=/etc/vsftpd/userconf

Step2. 新增一個(gè)目錄:/etc/vsftpd/userconf
mkdir /etc/vsftpd/userconf

Step3. 在/etc/vsftpd/userconf之下新增一個(gè)名為test1的文件
內(nèi)容增加一行:

local_max_rate=250000

Step4. 在/etc/vsftpd/userconf之下新增一個(gè)名為test2的文件
內(nèi)容增加一行:

local_max_rate=500000

Step5. 重新啟動(dòng)vsftpd
    /etc/init.d/vsftpd restart


3.6  其他設(shè)置范例
    這部分的范例介紹其他的設(shè)置范例,包括歡迎話語與獨(dú)立的process運(yùn)行。

范例21 安排歡迎話語
    若是我們希望用戶在登入時(shí),能夠看到歡迎話語,可能包括對(duì)該主機(jī)的說明,或是目錄的介紹,可參考以下步驟。
Step1.首先確定在 /etc/vsftpd/vsftpd.conf當(dāng)中是否有底下這一行:

dirmessage_enable=YES

Step2.接著,在各目錄之中,新增名為.message的文件,再這邊假設(shè)有一個(gè)用戶test1,且此用戶的根目錄下有個(gè)目錄名為abc,那首先我們?cè)?/home/test1之下新增.message,內(nèi)容如下:

Hello~ Welcome to the home directory
This is for test only...

Step3.接著,在 /home/test1/abc的目錄下新增 .message,內(nèi)容如下:

Welcome to abc's directory

        This is subdir...

那么,當(dāng)用戶test1登入時(shí),會(huì)看到以下信息:

230- Hello~ Welcome to the home directory
230-
230- This is for test only...
230-

若是切換到abc的目錄,則會(huì)出現(xiàn)以下訊息:

250- Welcome to abc's directory
250-
250- This is subdir ...

范例22.對(duì)于每一個(gè)聯(lián)機(jī),以獨(dú)立的process來運(yùn)行。(略)

4  配置文件說明

4.1  vsftpd.conf說明
    vsftpd.conf內(nèi)容的特性包含:每一行即為一項(xiàng)設(shè)定、空白行或是開頭為#的一行,將會(huì)被忽略、格式只有一種:選項(xiàng)=value,如 listen_port=2121、等號(hào)兩邊不能加空格,底下列出所有設(shè)定:

1. ascii 設(shè)定

 ◆ascii_download_enable
value:YES或NO
管控是否可用ASCII模式下載。默認(rèn)值為NO。 

 ◆ascii_upload_enable
value:YES或NO
管控是否可用ASCII模式上傳。默認(rèn)值為NO。

2. 個(gè)別用戶設(shè)定

 ◆chroot_list_enable
value:YES或NO
如果啟動(dòng)這項(xiàng)功能,則除了列在 /etc/vsftpd.chroot_list之中的用戶之外,所有的本機(jī)用戶登入均可進(jìn)到根目錄之外的文件夾。默認(rèn)值為NO。

 ◆userlist_enable
value:YES或NO
若是啟動(dòng)此功能,則會(huì)讀取/etc/vsftpd.user_list當(dāng)中的用戶名稱。此項(xiàng)功能可以在詢問密碼前就出現(xiàn)失敗訊息,而不需要檢驗(yàn)密碼的程序。默認(rèn)值為關(guān)閉。

 ◆userlist_deny
value:YES或NO
這個(gè)選項(xiàng)只有在userlist_enable啟動(dòng)時(shí)才會(huì)被檢驗(yàn)。如果將這個(gè)選項(xiàng)設(shè)為YES,則在/etc/vsftpd.user_list中的用戶將無法登入﹔若設(shè)為NO,則只有在/etc/vsftpd.user_list中的用戶才能登入。而且此項(xiàng)功能可以在詢問密碼前就出現(xiàn)錯(cuò)誤訊息,而不需要檢驗(yàn)密碼的程序。

 ◆user_config_dir
value:目錄
定義個(gè)別用戶配置文件所在的目錄,例如定義user_config_dir=/etc/vsftpd/userconf,且主機(jī)上有用戶test1,test2,那我們可以在user_config_dir的目錄新增文件名為test1以及test2。若是test1登入,則會(huì)讀取user_config_dir下的test1這個(gè)文件內(nèi)的設(shè)定。默認(rèn)值為無。

3. 歡迎語設(shè)定

 ◆dirmessage_enable
value:YES或NO
如果啟動(dòng)這個(gè)選項(xiàng),用戶第一次進(jìn)入一個(gè)目錄時(shí),會(huì)檢查該目錄下是否有.message這個(gè)文件,若是有,則會(huì)出現(xiàn)此文件的內(nèi)容,通常這個(gè)文件會(huì)放置歡迎話語,或是對(duì)該目錄的說明。默認(rèn)值為開啟。

 ◆banner_file
value:含完整路徑的文件
當(dāng)用戶登入時(shí),會(huì)顯示此設(shè)定所在的文件內(nèi)容,通常為歡迎話語或是說明。默認(rèn)值為無。

 ◆ftpd_banner
value:字符串
這邊可定義歡迎話語的字符串,相較于banner_file是文件的形式,而ftpd_banner是字符串的格式。默認(rèn)為無。

4. 特殊安全設(shè)定

 ◆chroot_local_user
value:YES或NO
如果設(shè)定為YES,那么所有的本機(jī)的用戶都可以切換到根目錄以外的文件夾。默認(rèn)值為NO。

 ◆hide_ids
value:YES或NO
如果啟動(dòng)這項(xiàng)功能,所有文件的擁有者與群組都為ftp,也就是登入后使用ls -al之類的命令,所看到的文件擁有者跟群組均為ftp。默認(rèn)值為關(guān)閉。

 ◆ls_recurse_enable
value:YES或NO
若是啟動(dòng)此功能,則允許登入者使用ls -R這個(gè)命令。默認(rèn)值為NO。

 ◆write_enable
value:YES或NO
這個(gè)選項(xiàng)可以控制FTP的命令是否允許更改file system,譬如STOR、DELE、RNFR、RNTO、MKD、RMD、APPE以及SITE。默認(rèn)是關(guān)閉。 

 ◆setproctitle_enable
value:YES或NO
啟動(dòng)這項(xiàng)功能,vsftpd會(huì)將所有聯(lián)機(jī)的狀況以不同的process呈現(xiàn)出來,換句話說,使用ps -ef這類的命令就可以看到聯(lián)機(jī)的狀態(tài)。默認(rèn)值為關(guān)閉。

 ◆tcp_wrappers
value:YES或NO
如果啟動(dòng),則會(huì)將vsftpd與tcp wrapper結(jié)合,也就是可以在 /etc/hosts.allow與 /etc/hosts.deny中定義可聯(lián)機(jī)或是拒絕的來源地址。

 ◆pam_service_name
value:用戶
這邊定義PAM所使用的名稱,默認(rèn)為vsftpd。

 ◆secure_chroot_dir
value:目錄
這個(gè)選項(xiàng)必須指定一個(gè)空的文件夾且任何登入者都不能有寫入的權(quán)限,當(dāng)vsftpd不需要file system的權(quán)限時(shí),就會(huì)將用戶限制在此文件夾中。默認(rèn)值為 /usr/share/empty

5. 記錄文件設(shè)定

 ◆xferlog_enable
value:YES或NO
如果啟動(dòng),上傳與下載的信息將被完整紀(jì)錄在底下xferlog_file所定義的文件中。默認(rèn)為開啟。

 ◆xferlog_file
value:含完整路徑的文件
這個(gè)選項(xiàng)可設(shè)定紀(jì)錄文件所在的位置,默認(rèn)值為/var/log/vsftpd.log。   

 ◆xferlog_std_format
value:YES或NO
如果啟動(dòng),則紀(jì)錄文件將會(huì)寫為xferlog的標(biāo)準(zhǔn)格式,如同wu-ftpd一般。默認(rèn)值為關(guān)閉。

6. 超時(shí)設(shè)定

 ◆accept_timeout
value:數(shù)值
接受建立聯(lián)機(jī)的逾時(shí)設(shè)定,單位為秒。默認(rèn)值為60。

 ◆connect_timeout
value:數(shù)值
響應(yīng)PORT方式的數(shù)據(jù)聯(lián)機(jī)的逾時(shí)設(shè)定,單位為秒。默認(rèn)值為60。

 ◆data_connection_timeout
value:數(shù)值
建立數(shù)據(jù)聯(lián)機(jī)的逾時(shí)設(shè)定。默認(rèn)值為300秒。

 ◆idle_session_timeout
value:數(shù)值
發(fā)呆的逾時(shí)設(shè)定,若是超出這時(shí)間沒有數(shù)據(jù)的傳送或是命令的輸入,則會(huì)強(qiáng)迫斷線,單位為秒。默認(rèn)值為300。

7. 速率限制

 ◆anon_max_rate
value:數(shù)值
匿名登錄所能使用的最大傳輸速度,單位為每秒多少bytes,0表示不限速度。默認(rèn)值為0。

 ◆local_max_rate
value:數(shù)值
本機(jī)用戶所能使用的最大傳輸速度,單位為每秒多少bytes,0表示不限速度。默認(rèn)值為0。

8. 新增文件權(quán)限設(shè)定

 ◆anon_umask
value:屏蔽數(shù)值
匿名登錄者新增文件時(shí)的umask數(shù)值。默認(rèn)值為077。

 ◆file_open_mode
value:屏蔽數(shù)值
上傳文件的權(quán)限,與chmod所使用的數(shù)值相同。默認(rèn)值為0666。

 ◆local_umask
value:屏蔽數(shù)值
本機(jī)登入者新增文件時(shí)的umask數(shù)值。默認(rèn)值為077。

9. port設(shè)定

 ◆connect_from_port_20
value:YES或NO
若設(shè)為YES,則強(qiáng)迫ftp-data的數(shù)據(jù)傳送使用port 20。默認(rèn)值為YES。

 ◆ftp_data_port
value:端口號(hào)
設(shè)定ftp數(shù)據(jù)聯(lián)機(jī)所使用的port。默認(rèn)值為20。

 ◆listen_port
value:端口號(hào)
FTP server所使用的port。默認(rèn)值為21。

 ◆pasv_max_port
value:端口號(hào)
建立資料聯(lián)機(jī)所可以使用port范圍的上界,0表示任意。默認(rèn)值為0。

 ◆pasv_min_port
value:端口號(hào)豐哥 的 L i n ux小站:linuxdocs.cublog.cn
建立資料聯(lián)機(jī)所可以使用port范圍的下界,0表示任意。默認(rèn)值為0。

10. 其他

 ◆local_enable
value:YES或NO
啟動(dòng)此功能則允許本機(jī)用戶登入。默認(rèn)值為YES。

 ◆local_root
value:目錄
本機(jī)用戶登入時(shí),將被更換到定義的目錄下。默認(rèn)值為無。

 ◆text_userdb_names
value:YES或NO
當(dāng)用戶登入后使用ls -al之類的命令查詢?cè)撐募墓芾頇?quán)時(shí),默認(rèn)會(huì)出現(xiàn)擁有者的UID,而不是該文件擁有者的名稱。若是希望出現(xiàn)擁有者的名稱,則將此功能開啟。默認(rèn)值為NO。

 ◆pasv_enable
value:YES或NO
若是設(shè)為NO,則不允許使用PASV的模式建立數(shù)據(jù)的聯(lián)機(jī)。默認(rèn)值為開啟。

11. 更換文件所有權(quán)

 ◆chown_uploads
value:YES或NO
若是啟動(dòng),所有匿名上傳數(shù)據(jù)的擁有者將被更換為chown_username當(dāng)中所設(shè)定的用戶。這樣的選項(xiàng)對(duì)于安全及管理,是很有用的。默認(rèn)值為NO。 

 ◆chown_username
value:用戶
這里可以定義當(dāng)匿名登錄者上傳文件時(shí),該文件的擁有者將被置換的用戶名稱。默認(rèn)值為root。

12. guest 設(shè)定

 ◆guest_enable
value:YES或NO
若是啟動(dòng)這項(xiàng)功能,所有的非匿名登錄者都視為guest。默認(rèn)值為關(guān)閉。

 ◆guest_username
value:用戶
這里將定義guest的用戶名稱。默認(rèn)值為ftp。

13. anonymous 設(shè)定

 ◆anonymous_enable
value:YES或NO
管控使否允許匿名登錄,YES為允許匿名登錄,NO為不允許。默認(rèn)值為YES。 

 ◆no_anon_password
value:YES或NO
若是啟動(dòng)這項(xiàng)功能,則使用匿名登錄時(shí),不會(huì)詢問密碼。默認(rèn)值為NO。

 ◆anon_mkdir_write_enable
value:YES或NO
如果設(shè)為YES,匿名登錄者會(huì)被允許新增目錄,當(dāng)然,匿名用戶必須要有對(duì)上層目錄的寫入權(quán)。默認(rèn)值為NO。 

 ◆anon_other_write_enable
value:YES或NO
如果設(shè)為YES,匿名登錄者會(huì)被允許更多于上傳與建立目錄之外的權(quán)限,譬如刪除或是更名。默認(rèn)值為NO。 

 ◆anon_root
value:目錄
使用匿名登錄時(shí),所登入的目錄。默認(rèn)值為無。

 ◆anon_upload_enable
value:YES或NO
如果設(shè)為YES,匿名登錄者會(huì)被允許上傳目錄的權(quán)限,當(dāng)然,匿名用戶必須要有對(duì)上層目錄的寫入權(quán)。默認(rèn)值為NO。 

 ◆anon_world_readable_only
value:YES或NO
如果設(shè)為YES,匿名登錄者會(huì)被允許下載可閱讀的文件。默認(rèn)值為YES。 

 ◆ftp_username
value:用戶豐 哥的Li nux小 站:lin uxdoc s.cu blog.cn
定義匿名登錄的用戶名稱。默認(rèn)值為ftp。

 ◆deny_email_enable
value:YES或NO
若是啟動(dòng)這項(xiàng)功能,則必須提供一個(gè)文件/etc/vsftpd.banner_emails,內(nèi)容為email address。若是使用匿名登錄,則會(huì)要求輸入email address,若輸入的email address在此文件內(nèi),則不允許聯(lián)機(jī)。默認(rèn)值為NO。

14. Standalone選項(xiàng)

 ◆listen
value:YES或NO
若是啟動(dòng),則vsftpd將會(huì)以獨(dú)立運(yùn)作的方式執(zhí)行,若是vsftpd獨(dú)立執(zhí)行,,則必須啟動(dòng)﹔若是vsftpd包含在xinetd之中,則必須關(guān)閉此功能,如Red Hat 8。 

 ◆listen_address
value:IP address
若是vsftpd使用standalone的模式,可使用這個(gè)參數(shù)定義使用哪個(gè)IP address提供這項(xiàng)服務(wù),若是主機(jī)上只有定義一個(gè)IP address,則此選項(xiàng)不需使用,若是有多個(gè)IP address,可定義在哪個(gè)IP address上提供ftp服務(wù)。若是不設(shè)定,則所有的IP address均會(huì)提供此服務(wù)。默認(rèn)值為無。

 ◆max_clients
value:數(shù)值
若是vsftpd使用standalone的模式,可使用這個(gè)參數(shù)定義最大的總聯(lián)機(jī)數(shù)。超過這個(gè)數(shù)目將會(huì)拒絕聯(lián)機(jī),0表示不限。默認(rèn)值為0。

 ◆max_per_ip
value:數(shù)值
若是vsftpd使用standalone的模式,可使用這個(gè)參數(shù)定義每個(gè)IP address所可以聯(lián)機(jī)的數(shù)目。超過這個(gè)數(shù)目將會(huì)拒絕聯(lián)機(jī),0表示不限。默認(rèn)值為0。


4.2  其他配置文件說明
    VSFTP的主配置文件只有vsftpd.conf,其他的設(shè)定文件都是伴隨著vsftpd.conf而來,下面列出常見的配置文件。


 ◆/etc/vsftpd.chroot_list
    這個(gè)文件中設(shè)置用戶名單,一行一個(gè)。在這文件中的用戶進(jìn)行FTP訪問時(shí),無法切換到個(gè)人根目錄以外的目錄,而不在此文件的用戶則沒有這個(gè)限制。這對(duì)于安全的控管有更高的要求。

 ◆/etc/vsftpd.user_list
    這個(gè)文件中設(shè)置用戶名單,一行一個(gè)。若在vsftpd.conf中userlist_deny設(shè)為YES,則在這文件中的用戶無法進(jìn)行FTP訪問,其他用戶可以訪問;若設(shè)為NO,則只有在這文件中的用戶可以進(jìn)行FTP’訪問,其他用戶不行。

4.3  FTP數(shù)字代碼的意義
    底下列出FTP訪問中所出現(xiàn)數(shù)字代碼的含意。


110 重新啟動(dòng)標(biāo)記應(yīng)答。                  
120 服務(wù)在多久時(shí)間內(nèi)ready。             
125 數(shù)據(jù)鏈路端口開啟,準(zhǔn)備傳送。          
150 文件狀態(tài)正常,開啟數(shù)據(jù)端口。      
200 命令執(zhí)行成功。                      
202 命令執(zhí)行失敗。                      
211 系統(tǒng)狀態(tài)或是系統(tǒng)求助響應(yīng)。          
212 目錄的狀態(tài)。                        
213 文件的狀態(tài)。                        
214 求助的訊息。                        
215 名稱系統(tǒng)類型。                      
220 新的聯(lián)機(jī)服務(wù)ready。                 
221 服務(wù)的控制端口關(guān)閉,可以注銷。    
225 數(shù)據(jù)鏈接開啟,但無傳輸動(dòng)作。        
226 關(guān)閉數(shù)據(jù)端口,請(qǐng)求的文件操作成功。
227 進(jìn)入passive mode。                  
230 用戶登錄。                        
250 請(qǐng)求的文件操作完成。                
257 顯示目前的路徑名稱。                
331 用戶名稱正確,需要密碼。            
332 登入時(shí)需要帳戶信息。                
350 請(qǐng)求的操作需要進(jìn)一部的命令。        
421 無法提供服務(wù),關(guān)閉控制連結(jié)。        
425 無法開啟數(shù)據(jù)鏈路。                  
426 關(guān)閉聯(lián)機(jī),終止傳輸。                
450 請(qǐng)求的操作未執(zhí)行。                  
451 命令終止:有本地的錯(cuò)誤。            
452 未執(zhí)行命令:磁盤空間不足。          
500 格式錯(cuò)誤,無法識(shí)別命令。            
501 參數(shù)語法錯(cuò)誤。                      
502 命令執(zhí)行失敗。                      
503 命令順序錯(cuò)誤。                      
504 命令所接的參數(shù)不正確。              
530 未登入。                            
532 儲(chǔ)存文件需要賬戶登入。              
550 未執(zhí)行請(qǐng)求的操作。                  
551 請(qǐng)求的命令終止,類型未知。          
552 請(qǐng)求的文件終止,儲(chǔ)存位溢出。      
553 未執(zhí)行請(qǐng)求的的命令,名稱不正確。

 

5  客戶端配置
    聯(lián)機(jī)FTP服務(wù)器的方式有三種:第一為命令模式,第二為瀏覽器登入,第三為FTP聯(lián)機(jī)軟件。

5.1 命令模式
    在Windows下的命令模式為DOS,在Linux下就是一般的命令操作畫面(終端機(jī)),介紹如下。

 ◆連接命令
    若FTP服務(wù)器的IP地址為123.45.6.7,并使用默認(rèn)的21端口,則可輸入以下命令聯(lián)機(jī):
        ftp 123.45.6.7
    若FTP服務(wù)器的IP地址為123.45.6.7,并使用自定義的5656端口,則Linux可輸入以下命令聯(lián)機(jī):
        ftp 123.45.6.7 5566
    但Window則無法直接在IP地址后面接上空格再加端口號(hào)來聯(lián)機(jī),正確的運(yùn)行方式如下:

C:\Documents and Settings\Jos>ftp
ftp> open 123.45.6.7 5566
Connected to 123.45.6.7.235.
220 (vsFTPd 2.0.5)
User (123.45.6.7:(none)):

5.2 瀏覽器登錄
    瀏覽器只能登入默任的21端口,因此若服務(wù)器使用其他端口,則無法使用此登入方式。
首先在網(wǎng)址列輸入
ftp://123.45.6.7 (如圖9),其中123.45.6.7為FTP的IP地址 。

圖9

    輸入后,就會(huì)要求輸入FTP登入名與密碼(如圖10):

圖10

    登入后,則會(huì)出現(xiàn)目錄列表(如圖11):

 
圖11

!IE若在7.0之后的版本中出現(xiàn)問題,可使用我的電腦中的地址欄達(dá)到同樣的效果。

5.3 FTP聯(lián)機(jī)軟
    除了上述兩種方式,最常用的就是透過FTP軟件聯(lián)機(jī),常用的軟件包括CuteFTP、LeapFTP等。這樣的窗口軟件可以透過拖拉的方式將文件上傳或是下載,底下以CuteFTP為例說明。
    點(diǎn)開軟件后,會(huì)出現(xiàn)圖12中的窗口,在這畫面中可設(shè)置常用的FTP服務(wù)器信息,如名稱、IP地址、端口、以及傳輸模式等。

圖12

    正確登入后,則會(huì)出現(xiàn)圖13,左邊的窗口為客戶端個(gè)人計(jì)算機(jī)上的文件,右邊的窗口為FTP服務(wù)器上的文件,只要我們點(diǎn)選文件并使用拖拉的方式,就會(huì)進(jìn)行傳遞的任務(wù)。
    如果我們拖拉左邊窗口的文件到右邊,就代表將個(gè)人客戶端的文件上傳到FTP服務(wù)器上;若從右邊的窗口拖拉到左邊,則代表從服務(wù)器上下載文件。

圖13

    若以操作模式而言,這樣的軟件是最方便我們進(jìn)行文件傳輸?shù)摹?/font>

 

 
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
搭建VSFTP服務(wù)器
安裝vsftpd
Linux環(huán)境搭建FTP服務(wù)器與Python實(shí)現(xiàn)FTP客戶端的交互介紹
Linux中配置ftp服務(wù)器
ftp主動(dòng)模式與被動(dòng)模式區(qū)別
vsftp安裝試用
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服