A. 建一個FTP伺服器需要什麼
建立FTP伺服器需要單獨伺服器,專業的軟體,如果只是臨時使用自己的機器共享些文件,可以使用FTP簡易版,軟體比較小,啟動速度快,暫用系統資源少等特點。
1、首先打開,FTP簡易版軟體。
B. 怎麼在學校的區域網內建個ftp伺服器
一、用IIS架設
如果只是想建個小型的同時在線用戶數不超過10個的FTP伺服器,且不會同時進行大流量的數據傳輸,可以用IIS5.0作為伺服器軟體來架設(IIS只適用於WindowsNT/2000/XP操作系陪培缺統)。
1.安裝
WindowsXP默認安裝時不安裝IIS組件,需要手工添加安裝。進入控制面板,找到「添加/刪除程序」,打開後選擇「添加/刪除Windows組件」,在彈出的「Windows組件向導」窗口中,將「Internet信蘆辯息服務(IIS)」項選中。在該選項前的「√」背景色是灰色的,這是因為WindowsXP默認並不安裝FTP服務組件。再點擊右下角的「詳細信息」,在彈出的「Internet信息服務(IIS)」窗口中,找到「文件傳輸協議(FTP)服務」,選中後確定即可。
安裝完後需要重啟。WindowsNT/2000和WindowsXP的安裝方法相同。
2.設置
電腦重啟後,FTP伺服器就開始運行了,但還要進行一些設置。點擊「開始→所有程序→中清管理工具→Internet信息服務」,進入「Internet信息服務」窗口後,找到「默認FTP站點」,右擊滑鼠,在彈出的右鍵菜單中選擇「屬性」。在「屬性」中,我們可以設置FTP伺服器的名稱、IP、埠、訪問賬戶、FTP目錄位置、用戶進入FTP時接收到的消息等。
1)FTP站點基本信息
進入「FTP站點」選項卡,其中的「描述」選項為該FTP站點的名稱,用來稱呼你的伺服器,可以隨意填,比如「我的小站」;「IP地址」為伺服器的IP,系統默認為「?全部未分配」,一般不須改動,但如果在下拉列表框中有兩個或兩個以上的IP地址時,最好指定為公網IP;「TCP埠」一般仍設為默認的21埠;「連接」選項用來設置允許同時連接伺服器的用戶最大連接數;「連接超時」用來設置一個等待時間,如果連接到伺服器的用戶在線的時間超過等待時間而沒有任何操作,伺服器就會自動斷開與該用戶的連接。
2)設置賬戶及其許可權
很多FTP站點都要求用戶輸入用戶名和密碼才能登錄,這個用戶名和密碼就叫賬戶。不同用戶可使用相同的賬戶訪問站點,同一個站點可設置多個賬戶,每個賬戶可擁有不同的許可權,如有的可以上傳和下載,而有的則只允許下載。
3)安全設定
進入「安全賬戶」選項卡,有「允許匿名連接」和「僅允許匿名連接」兩項,默認為「允許匿名連接」,此時FTP伺服器提供匿名登錄。「僅允許匿名連接」是用來防止用戶使用有管理許可權的賬戶進行訪問,選中後,即使是Administrator(管理員)賬號也不能登錄,FTP只能通過伺服器進行「本地訪問」來管理。至於「FTP站點操作員」選項,是用來添加或刪除本FTP伺服器具有一定許可權的賬戶。IIS與其他專業的FTP伺服器軟體不同,它基於Windows用戶賬號進行賬戶管理,本身並不能隨意設定FTP伺服器允許訪問的賬戶,要添加或刪除允許訪問的賬戶,必須先在操作系統自帶的「管理工具」中的「計算機管理」中去設置Windows用戶賬號,然後再通過「安全賬戶」選項卡中的「FTP站點操作員」選項添加或刪除。但對於Windows2000和WindowsXP專業版,系統並不提供「FTP站點操作員」賬戶添加與刪除功能,只提供Administrator一個管理賬號。
提示:匿名登錄一般不要求用戶輸入用戶名和密碼即可登錄成功,若需要,可用「anonymous」作為用戶名,以任意電子郵件地址為密碼來登錄。
4)設置用戶登錄目錄
最後設置FTP主目錄(即用戶登錄FTP後的初始位置),進入「主目錄」選項卡,在「本地路徑」中選擇好FTP站點的根目錄,並設置該目錄的讀取、寫入、目錄訪問許可權。「目錄列表樣式」中「UNIX」和「MS-DOS」的區別在於:假設將G?\Ftp設為站點根目錄,則當用戶登錄FTP後,前者會使主目錄顯示為「\」,後者顯示為「G?\Ftp」。
設置完成後,FTP伺服器就算真正建成了。如果前面IP地址為218.1.1.1,則用戶使用FTP客戶端軟體(用來登錄FTP伺服器的上傳/下載軟體,如CuteFTP、FlashFXP等,如無特別說明,本文中所稱FTP客戶端軟體均以CuteFTPPro2.0為例)時,主機處填218.1.1.1,埠填21,此伺服器的地址表述為:ftp?//218.1.1.1?21。IIS雖然安裝簡單,設置較簡便,但功能不強,管理也很麻煩,尤其是連新建一個基本的授權訪問賬戶都要進行繁雜的設置,而且IIS本身的安全性也比較差,容易受到諸如「紅色代碼」等專門針對IIS漏洞進行攻擊的病毒侵襲,因而很多人都喜歡使用第三方的FTP伺服器軟體來架設。
二、用Serv-U等第三方FTP伺服器軟體架設
除IIS外,還有很多FTP伺服器軟體可以架設,如Wu-FTP、ProFtpd、Serv-U等,但大部分只適用於Unix、linux系統,如果使用Windows系統,強烈推薦使用Serv-U。Serv-U(下載地址:http?//www.newhua.com/FTPServU.htm,含漢化包)是一種被廣泛運用的FTP伺服器端軟體,支持Windows3x/9x/Me/NT/2000等全Windows系列。它安裝簡單,功能強大,可以用同一個IP設定多個FTP伺服器、限定登錄用戶的許可權、登錄主目錄及空間大小、支持遠程登錄管理等,適合絕大部分個人自建FTP的需要。
1.安裝
Serv-U的安裝比IIS還簡單。先執行英文原版安裝文件,按提示一路「NEXT」即可。要注意的是,在選擇安裝目錄時,最好選擇安裝在一個非系統盤里,以免將來系統發生異常時還要重新進行賬號等的設置。然後執行漢化文件,選擇原版安裝目錄,一路「下一步」即可完成安裝。
2.設置
與IIS不同,Serv-U在第一次運行時會以向導的方式一步一步地提示用戶進行設置,整個過程不超過五分鍾,非常人性化。為了方便說明,先假設我們要架設一個固定IP為218.1.1.1,埠為21,根目錄絕對路徑為G?\Ftp,允許匿名訪問和擁有一個用戶名為dys、密碼為syd、管理賬戶名叫「MyFtp」的公網FTP伺服器。運行Serv-U,彈出向導窗口,依次設置如下選項:
1)「您的IP地址」:這里我們填入218.1.1.1,如果你是ADSL等方式撥號上網,擁有的是動態IP或者不知道本機IP,此處請留空。
2)「域名」:就是該FTP站點的名稱,可以隨意取名,這里填入「MyFtp」。
3)「匿名賬號」:決定該FTP站點是否允許匿名用戶訪問。選擇「是」。
4)「匿名主目錄」:設置匿名用戶登錄站點後所處的目錄位置。輸入「G?\Ftp」。
5)「鎖定於主目錄」:假設在「匿名主目錄」中設置匿名用戶登錄後所處的目錄位置為「G?\Ftp\Guest」,那麼,選擇「是」後,當匿名用戶登錄FTP後,就被鎖定在G?\Ftp\Guest目錄下,只能查看Guest目錄里的內容,不能進入上級目錄「Ftp」,同時該目錄在FTP客戶端軟體中顯示為「\」,如果未被鎖定,則會完整顯示為「G?\Ftp\Guest」。這里選擇「是」。
6)「命名的賬號」:決定是否要創建有一定管理許可權的賬戶。這里選「是」。
7)「賬號名稱」:就是具有一定管理許可權的賬戶登錄名稱。填入「dys」。
8)「賬號密碼」:設置賬戶的登錄密碼。輸入「syd」。
9)「主目錄」:與「匿名主目錄」一樣,用來設置管理賬戶登錄後所處的目錄位置。輸入「G?\Ftp」。
10)「鎖定於主目錄」:選擇「是」。
11)「管理員許可權」:用來設置管理賬戶的管理許可權級別。這里選「無許可權」,後面再詳述。
設置完成,地址為:ftp?//218.1.1.1?21的FTP伺服器就算架設成功了。最後可用CuteFTP分別以匿名和dys的賬戶登錄驗證。
提示:以上這些設置並非最終設定,你還可以在Serv-U主界面中隨時修改。
3.用同一個IP架設多個FTP伺服器
如果帶寬允許的話,你還可利用同一個IP輕松架設多個伺服器。在Serv-U中,將「本地伺服器」下「域」中的每個FTP伺服器稱為「域」,剛才創建的「MyFtp」伺服器就是一個名叫「MyFtp」的域。要架設多個伺服器,實際上就是創建多個擁有不同埠的域而已。
右擊「域」,選「新建域」,在彈出的向導中參照「MyFtp」進行設置,只是在埠處一定不要與已經創建的「域」的埠或被其他系統服務佔用的埠沖突即可。如果填入22,則此伺服器的地址就是:ftp?//218.1.1.1?22。依此而為,就可以架設多個FTP伺服器了。
三、用動態IP域名解析軟體架設擁有固定域名的FTP伺服器
在上面的介紹中,我們假設的是該伺服器擁有218.1.1.1的固定IP,而事實上,大部分想架設個人FTP的用戶通常都是用ADSL等方式撥號上網。由於每次撥號上網後被分配到的IP地址都不相同,那這是否就意味著不能架設FTP伺服器呢?
有兩個解決辦法:一是在剛才向導中的「您的IP地址」中留空,然後完成其它向導設置。進入Serv-U主界面,先點擊菜單欄上的「幫助→本機IP地址」,將本機IP地址復制,再通過其他途徑告知每個用戶。每撥號上網一次就重復此操作一次;二是到網上下載安裝一個動態IP域名解析軟體,如國外的DNS2Go、國內的花生殼、88IP等,此類軟體不管本機的IP如何變化都能將一個固定域名自動解析到本機IP上。這樣,用戶只要輸入這個固定域名作FTP地址就可以訪問到你的伺服器。很明顯,第一種方法相當麻煩,需要你有極大的耐心,第二種就相當簡便,用戶只要記住此域名而不用管IP是否變化。美中不足的是,目前絕大部分此類軟體需要付費注冊才能永久使用,不注冊只能免費使用30天。
我們以88IP為例,來了解它的設置。
假設我們要申請一個域名:dys2.88ip.com。首先如前文所述用Serv-U(IIS和其他FTP伺服器軟體亦可)架設好FTP伺服器,注意將「您的IP地址」處留空,然後到http?//www.88ip.net去下載並安裝88IP標准版。
88IP需要付費注冊才能擁有一個永久域名,如果免費注冊則僅能試用15天。運行88IP標准版客戶端,會彈出設置窗口。要獲得一個域名,需要先注冊。在「基本資料」中,依次填寫好用戶登錄名、有效電子郵件地址、密碼和聯系電話,接下來就要選擇你的域名,在「域名資料」中,「域名」框填入dys2,「域名後綴」下拉框里選擇「88ip.com」,這時,下方的「你的完整域名為」會顯示為dys2.88ip.com,確認無誤後,點「注冊」按鈕注冊。如果注冊的用戶名或申請的域名已經被其他用戶注冊過,軟體會做出相應的提示,修改後再次注冊即可。注冊成功後,在「執行狀態」中會顯示「注冊成功,用戶ID:?xxxxxxxx?」,記下用戶ID,以備將來繳費或需要技術支持之用。最後要點擊「裝載」按鈕將剛剛申請成功的賬戶信息裝載至本機上。
C. 想在學校區域網里利用自己的PC機,搭建一個ftp伺服器,希望有高手可以指點一下
如果是 linux ,可以用vsftp
1、這個例子是RedHat的預設範例,直接啟動vsftp。
[root@relay vsftpd]# /sbin/service vsftpd start
Starting vsftpd for vsftpd: OK ]
2、更換port 提供服務:將預設的port 21 更換為2121
為了安全,或是以port 來區隔不同的ftp 服務,我們可能會將ftp port 改為21 之外的port,那麼,可參考以下步驟。
Step1. 修改/etc/vsftpd/vsftpd.conf
新增底下一行
listen_port=2121
Step2. 重新啟動vsftpd
[root@home vsftpd]# /sbin/service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpd for vsftpd: OK ]
3、 特定使用者peter、john 不得變更目錄
使用者的預設目錄為/home/username,若是我們不希望使用者在ftp 時能夠
切換到上一層目錄/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. 新增一個檔案: /etc/vsftpd/chroot_list
內容增加兩行:
peter
john
Step3. 重新啟動vsftpd
[root@home vsftpd]# /sbin/service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpd for vsftpd: OK ]
若是peter 欲切換到根目錄以外的目錄,則會出現以下警告:
ftp> cd /home
550 Failed to change directory.
4、取消anonymous 登入
若是讀者的主機不希望使用者匿名登入,則可參考以下步驟。
Step1. 修改/etc/vsftpd/vsftpd.conf
將
anonymous_enable=YES
改為
anonymous_enable=NO
Step2. 重新啟動vsftpd
[root@home vsftpd]# /sbin/service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpd for vsftpd: OK ]
5、安排歡迎話語
若是我們希望使用者在登入時,能夠看到歡迎話語,可能包括對該主機的說明,或是目錄的介紹,可參考以下步驟。
首先確定在/etc/vsftpd/vsftpd.conf 當中是否有底下這一行
dirmessage_enable=YES
RedHat9 的默認值是有上面這行的。
接著,在各目錄之中,新增名為.message 的檔案,再這邊假設有一個使用者test1,且此使用者的根目錄下有個目錄名為abc,那首先我們在/home/test1
之下新增.message,內容如下:
Hello~ Welcome to the home directory
This is for test only...
接著,在/home/test1/abc 的目錄下新增.message,內容如下:
Welcome to abc's directory
This is subdir...
那麼,當使用者test1 登入時,會看到以下訊息:
230- Hello~ Welcome to the home directory
230-
230- This is for test only...
230-
若是切換到abc 的目錄,則會出現以下訊息:
250- Welcome to abc's directory
250-
250- This is subdir ...
6、對於每一個聯機,以獨立的process 來運作
一般啟動vsftp 時,我們只會看到一個名為vsftpd 的process 在運作,但若是讀者希望每一個聯機,都能以獨立的process 來呈現,則可執行以下步驟。
Step1. 修改/etc/vsftpd/vsftpd.conf
新增底下一行
setproctitle_enable=YES
Step2. 重新啟動vsftpd
[root@home vsftpd]# /sbin/service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpd for vsftpd: OK ]
使用ps -ef 的指令,可以看告不同使用者聯機的情形,如下圖所示:
[root@home vsftpd]# ps -ef|grep ftp
root 2090 1 0 16:41 pts/0 00:00:00 vsftpd: LISTENER
nobody 2120 2090 0 17:18 ? 00:00:00 vsftpd: 192.168.10.244:
connected
test1 2122 2120 0 17:18 ? 00:00:00 vsftpd: 192.168.10.244/test1:
IDLE
nobody 2124 2090 0 17:19 ? 00:00:00 vsftpd: 192.168.10.244:
connected
test2 2126 2124 0 17:19 ? 00:00:00 vsftpd: 192.168.10.244/test2:
IDLE
root 2129 1343 0 17:20 pts/0 00:00:00 grep ftp
[root@home vsftpd]#
7、限制傳輸檔案的速度:
本機的使用者最高速度為200KBytes/s,匿名登入者所能使用的最高速度為50KBytes/s
Step1. 修改/etc/vsftpd/vsftpd.conf
新增底下兩行
anon_max_rate=50000
local_max_rate=200000
Step2. 重新啟動vsftpd
[root@home vsftpd]# /sbin/service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpd for vsftpd: OK ]
在這邊速度的單位為Bytes/s,其中anon_max_rate 所限制的是匿名登入的
使用者,而local_max_rate 所限制的是本機的使用者。VSFTPD 對於速度的限
制,范圍大概在80%到120%之間,也就是我們限制最高速度為100KBytes/s,
但實際的速度可能在80KBytes/s 到120KBytes/s 之間,當然,若是頻寬不足
時,數值會低於此限制。
8、針對不同的使用者限制不同的速度:
假設test1 所能使用的最高速度為250KBytes/s,test2 所能使用的最高速度為500KBytes/s。
Step1. 修改/etc/vsftpd/vsftpd.conf
新增底下一行
user_config_dir=/etc/vsftpd/userconf
Step2. 新增一個目錄:/etc/vsftpd/userconf
mkdir /etc/vsftpd/userconf
Step3. 在/etc/vsftpd/userconf 之下新增一個名為test1 的檔案
內容增加一行:
local_max_rate=250000
Step4. 在/etc/vsftpd/userconf 之下新增一個名為test2 的檔案
內容增加一行:
local_max_rate=500000
Step5. 重新啟動vsftpd
[root@home vsftpd]# /sbin/service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpd for vsftpd: OK ]
9、建置一個防火牆下的ftp server,使用PORT FTP mode:
預設的ftp port:21 以及ftp data port:20
啟動VSFTPD 之後執行以下兩行指令,只允許port 21 以及port 20 開放,其它關閉。
iptables -A INPUT -p tcp -m multiport --dport 21,20 -j ACCEPT
iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset
10、建置一個防火牆下的ftp server,使用PORT FTP mode:
ftp port:2121 以及ftp data port:2020
Step1. 執行以下兩行指令,只允許port 2121 以及port 2020 開放,其它關閉。
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. 重新啟動vsftpd
[root@home vsftpd]# /sbin/service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpd for vsftpd: OK ]
在這邊要注意,8、9 兩個例子中,ftp client(如cuteftp)的聯機方式不能夠選擇passive mode,否則無法建立數據的聯機。也就是讀者可以連上ftp
server,但是執行ls、get 等等的指令時,便無法運作。
11、建置一個防火牆下的ftp server,使用PASS FTP mode:
ftp port:2121 以及ftp data port 從9981 到9986。
Step1. 執行以下兩行指令,只允許port 2121 以及port 9981-9990 開放,其它關閉。
iptables -A INPUT -p tcp -m multiport --dport
2121,9981,9982,9983,9984,9985,9986,9987,9988,9989,9990 -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. 重新啟動vsftpd
[root@home vsftpd]# /sbin/service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpd for vsftpd: OK ]
在這邊要注意,在10 這個例子中,ftp client(如cuteftp)的聯機方式必須選擇passive mode,否則無法建立數據的聯機。也就是讀者可以連上ftp server,但是執行ls,get 等等的指令時,便無法運作。
12、將vsftpd 與TCP_wrapper 結合
若是讀者希望直接在/etc/hosts.allow 之中定義允許或是拒絕的來源地址,可執行以下步驟。這是簡易的防火牆設定。
Step1. 確定/etc/vsftpd/vsftpd.conf 之中tcp_wrappers 的設定為YES,如下圖所
示:
tcp_wrappers=YES
這是RedHat9 的默認值,基本上不需修改。
Step2. 重新啟動vsftpd
[root@home vsftpd]# /sbin/service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpd for vsftpd: OK ]
Step3. 設定/etc/hosts.allow,譬如提供111.22.33.4 以及10.1.1.1 到10.1.1.254 連
線,則可做下圖之設定:
vsftpd : 111.22.33.4 10.1.1. : allow
ALL : ALL : DENY
13、將vsftpd 並入XINETD
若是讀者希望將vsftpd 並入XINETD 之中,也就是7.x 版的預設設定,那
么讀者可以執行以下步驟。
Step1. 修改/etc/vsftpd/vsftpd.conf
將
listen=YES
改為
listen=NO
Step2. 新增一個檔案: /etc/xinetd.d/vsftpd
內容如下:
service vsftpd
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/sbin/vsftpd
port = 21
log_on_success += PID HOST DURATION
log_on_failure += HOST
}
Step3. 重新啟動xinetd
[root@home vsftpd]# /sbin/service xinetd restart
Stopping xinetd: OK ]
Starting xinetd: OK ]
說明:
在例子中,有些省略的設定可以在這邊找到,譬如聯機的總數、同一個位址的聯機數、顯示檔案擁有者的名稱等等,希望讀者細讀後,可以做出最適合自己的設定。
格式
vsftpd.conf 的內容非常單純,每一行即為一項設定。若是空白行或是開頭為#的一行,將會被忽略。內容的格式只有一種,如下所示
option=value
要注意的是,等號兩邊不能加空白,不然是不正確的設定。
===ascii 設定=====================
ascii_download_enable
管控是否可用ASCII 模式下載。默認值為NO。
ascii_upload_enable
管控是否可用ASCII 模式上傳。默認值為NO。
===個別使用者設定===================
chroot_list_enable
如果啟動這項功能,則所有的本機使用者登入均可進到根目錄之外的數據夾,除了列
在/etc/vsftpd.chroot_list 之中的使用者之外。默認值為NO。
userlist_enable
用法:YES/NO
若是啟動此功能,則會讀取/etc/vsftpd.user_list 當中的使用者名稱。此項功能可以在詢問密碼前就出現失敗訊息,而不需要檢驗密碼的程序。默認值為關閉。
userlist_deny
用法:YES/NO
這個選項只有在userlist_enable 啟動時才會被檢驗。如果將這個選項設為YES,則在/etc/vsftpd.user_list 中的使用者將無法登入 若設為NO , 則只有在
/etc/vsftpd.user_list 中的使用者才能登入。而且此項功能可以在詢問密碼前就出現錯誤訊息,而不需要檢驗密碼的程序。
user_config_dir
定義個別使用者設定文件所在的目錄,例如定義user_config_dir=/etc/vsftpd/userconf,且主機上有使用者 test1,test2,那我們可以在user_config_dir 的目錄新增文件名為test1 以及test2。若是test1 登入,則會讀取user_config_dir 下的test1 這個檔案內的設定。默認值為無。
===歡迎語設定=====================
dirmessage_enable
如果啟動這個選項,使用者第一次進入一個目錄時,會檢查該目錄下是否有.message這個檔案,若是有,則會出現此檔案的內容,通常這個檔案會放置歡迎話語,或是對該目錄的說明。默認值為開啟。
banner_file
當使用者登入時,會顯示此設定所在的檔案內容,通常為歡迎話語或是說明。默認值為無。
ftpd_banner
這邊可定義歡迎話語的字元串,相較於banner_file 是檔案的形式,而ftpd_banner 是字串的格式。預設為無。
===特殊安全設定====================
chroot_local_user
如果設定為YES,那麼所有的本機的使用者都可以切換到根目錄以外的數據夾。預設值為NO。
hide_ids
如果啟動這項功能,所有檔案的擁有者與群組都為ftp,也就是使用者登入使用ls -al之類的指令,所看到的檔案擁有者跟群組均為ftp。默認值為關閉。
ls_recurse_enable
若是啟動此功能,則允許登入者使用ls -R 這個指令。默認值為NO。
write_enable
用法:YES/NO
這個選項可以控制FTP 的指令是否允許更改file system,譬如STOR、DELE、
RNFR、RNTO、MKD、RMD、APPE 以及SITE。預設是關閉。
setproctitle_enable
用法:YES/NO
啟動這項功能,vsftpd 會將所有聯機的狀況已不同的process 呈現出來,換句話說,使用ps -ef 這類的指令就可以看到聯機的狀態。默認值為關閉。
tcp_wrappers
用法:YES/NO
如果啟動,則會將vsftpd 與tcp wrapper 結合,也就是可以在/etc/hosts.allow 與/etc/hosts.deny 中定義可聯機或是拒絕的來源地址。
pam_service_name
這邊定義PAM 所使用的名稱,預設為vsftpd。
secure_chroot_dir
這個選項必須指定一個空的數據夾且任何登入者都不能有寫入的許可權,當vsftpd 不需要file system 的許可權時,就會將使用者限制在此數據夾中。默認值為/usr/share/empty
===紀錄文件設定=====================
xferlog_enable
用法:YES/NO
如果啟動,上傳與下載的信息將被完整紀錄在底下xferlog_file 所定義的檔案中。預設為開啟。
xferlog_file
這個選項可設定紀錄文件所在的位置,默認值為/var/log/vsftpd.log。
xferlog_std_format
如果啟動,則紀錄文件將會寫為xferlog 的標准格式,如同wu-ftpd 一般。默認值為關閉。
===逾時設定======================
accept_timeout
接受建立聯機的逾時設定,單位為秒。默認值為60。
connect_timeout
響應PORT 方式的數據聯機的逾時設定,單位為秒。默認值為60。
data_connection_timeout
建立數據聯機的逾時設定。默認值為300 秒。
idle_session_timeout
發呆的逾時設定,若是超出這時間沒有數據的傳送或是指令的輸入,則會強迫斷線,單位為秒。默認值為300。
===速率限制======================
anon_max_rate
匿名登入所能使用的最大傳輸速度,單位為每秒多少bytes,0 表示不限速度。默認值為0。
local_max_rate
本機使用者所能使用的最大傳輸速度,單位為每秒多少bytes,0 表示不限速度。預設值為0。
===新增檔案許可權設定==================
anon_umask
匿名登入者新增檔案時的umask 數值。默認值為077。
file_open_mode
上傳檔案的許可權,與chmod 所使用的數值相同。默認值為0666。
local_umask
本機登入者新增檔案時的umask 數值。默認值為077。
===port 設定======================
connect_from_port_20
用法:YES/NO
若設為YES,則強迫ftp-data 的數據傳送使用port 20。默認值為YES。
ftp_data_port
設定ftp 數據聯機所使用的port。默認值為20。
listen_port
FTP server 所使用的port。默認值為21。
pasv_max_port
建立資料聯機所可以使用port 范圍的上界,0 表示任意。默認值為0。
pasv_min_port
建立資料聯機所可以使用port 范圍的下界,0 表示任意。默認值為0。
===其它========================
anon_root
使用匿名登入時,所登入的目錄。默認值為無。
local_enable
用法:YES/NO
啟動此功能則允許本機使用者登入。默認值為YES。
local_root
本機使用者登入時,將被更換到定義的目錄下。默認值為無。
text_userdb_names
用法:YES/NO
當使用者登入後使用ls -al 之類的指令查詢該檔案的管理權時,預設會出現擁有者的UID,而不是該檔案擁有者的名稱。若是希望出現擁有者的名稱,則將此功能開啟。默認值為NO。
pasv_enable
若是設為NO,則不允許使用PASV 的模式建立數據的聯機。默認值為開啟。
===更換檔案所有權===================
chown_uploads
用法:YES/NO
若是啟動,所有匿名上傳數據的擁有者將被更換為chown_username 當中所設定的使用者。這樣的選項對於安全及管理,是很有用的。默認值為NO。
chown_username
這里可以定義當匿名登入者上傳檔案時,該檔案的擁有者將被置換的使用者名稱。預設值為root。
===guest 設定=====================
guest_enable
用法:YES/NO
若是啟動這項功能,所有的非匿名登入者都視為guest。默認值為關閉。
guest_username
這里將定義guest 的使用者名稱。默認值為ftp。
===anonymous 設定==================
anonymous_enable
用法:YES/NO
管控使否允許匿名登入,YES 為允許匿名登入,NO 為不允許。默認值為YES。
no_anon_password
若是啟動這項功能,則使用匿名登入時,不會詢問密碼。默認值為NO。
anon_mkdir_write_enable
用法:YES/NO
如果設為YES,匿名登入者會被允許新增目錄,當然,匿名使用者必須要有對上層目錄的寫入權。默認值為NO。
anon_other_write_enable
用法:YES/NO
如果設為YES,匿名登入者會被允許更多於上傳與建立目錄之外的許可權,譬如刪除或是更名。默認值為NO。
anon_upload_enable
用法:YES/NO
如果設為YES,匿名登入者會被允許上傳目錄的許可權,當然,匿名使用者必須要有對上層目錄的寫入權。默認值為NO。
anon_world_readable_only
用法:YES/NO
如果設為YES,匿名登入者會被允許下載可閱讀的檔案。默認值為YES。
ftp_username
定義匿名登入的使用者名稱。默認值為ftp。
deny_email_enable
若是啟動這項功能,則必須提供一個檔案/etc/vsftpd.banner_emails,內容為email
address。若是使用匿名登入,則會要求輸入email address,若輸入的email address 在此檔案內,則不允許聯機。默認值為NO。
===Standalone 選項==================
listen
用法:YES/NO
若是啟動,則vsftpd 將會以獨立運作的方式執行,若是vsftpd 獨立執行,如RedHat9的默認值,則必須啟動 若是vsftpd 包含在xinetd 之中,則必須關閉此功能,如RedHat8。在RedHat9 的默認值為YES。
listen_address
若是vsftpd 使用standalone 的模式,可使用這個參數定義使用哪個IP address 提供這項服務,若是主機上只有定義一個IP address,則此選項不需使用,若是有多個IP address,可定義在哪個IP address 上提供ftp 服務。若是不設定,則所有的IP address均會提供此服務。默認值為無。
max_clients
若是vsftpd 使用standalone 的模式,可使用這個參數定義最大的總聯機數。超過這個數目將會拒絕聯機,0 表示不限。默認值為0。
max_per_ip
若是vsftpd 使用standalone 的模式,可使用這個參數定義每個ip address 所可以聯機的數目。超過這個數目將會拒絕聯機,0 表示不限。默認值為0。
=============================
3.2.4 FTP 數字代碼的意義
110 重新啟動標記應答。
120 服務在多久時間內ready。
125 數據鏈路埠開啟,准備傳送。
150 文件狀態正常,開啟數據連接埠。
200 命令執行成功。
202 命令執行失敗。
211 系統狀態或是系統求助響應。
212 目錄的狀態。
213 文件的狀態。
214 求助的訊息。
215 名稱系統類型。
220 新的聯機服務ready。
221 服務的控制連接埠關閉,可以注銷。
225 數據連結開啟,但無傳輸動作。
226 關閉數據連接埠,請求的文件操作成功。
227 進入passive mode。
230 使用者登入。
250 請求的文件操作完成。
257 顯示目前的路徑名稱。
331 用戶名稱正確,需要密碼。
332 登入時需要賬號信息。
350 請求的操作需要進一部的命令。
421 無法提供服務,關閉控制連結。
425 無法開啟數據鏈路。
426 關閉聯機,終止傳輸。
450 請求的操作未執行。
451 命令終止:有本地的錯誤。
452 未執行命令:磁碟空間不足。
500 格式錯誤,無法識別命令。
501 參數語法錯誤。
502 命令執行失敗。
503 命令順序錯誤。
504 命令所接的參數不正確。
530 未登入。
532 儲存文件需要賬戶登入。
550 未執行請求的操作。
551 請求的命令終止,類型未知。
552 請求的文件終止,儲存位溢出。
553 未執行請求的的命令,名稱不正確。
=======================
如果是windows ,可以用iis 或者serv-u(此方法適合對用戶許可權控制要求不高的`)
iis設置ftp方法
第一步:安裝IIS組件。
一般系統安裝時都沒有安裝此組件的,所以請到控制面板,在「添加/刪除程序」里打開「添加/刪除Windows組件」一項,在彈出的窗口裡將「intenet信息服務(IIS)」選中;再點右下角「詳細信息」,勾選「文件傳輸協議(FTP)服務」,最後確定即可。
第二步:設定需要共享的目錄路徑。
此目錄就是別人訪問你的FTP伺服器時看到的文件列表。在控制面板的管理工具里,打開「internet信息服務」。在窗口左面找到「FTP站點」並打開下拉列表,之後在「默認FTP站點」上點右鍵選屬性,切換到如下圖所示的「主目錄」選項卡。在「本地路徑」框中的地址為默認FTP共享目錄,請點擊瀏覽指定到你的實際共享目錄;另外在這里還可以設置FTP伺服器的文件訪問許可權,為安全考慮,一般我們只開放讀取許可權,以防匿名用戶隨意修改目錄文件,合法用戶有需要時才針對性的打開「寫入」許可權。
主目錄路徑指定
第三步:完善配置。
在「默認FTP站點」窗口裡切換到「安全帳戶」,去掉「允許匿名連接」前的勾;在消息選項卡中可設定當用戶訪問、退出你的FTP伺服器時出現的提示信息,隨你喜歡寫吧!還有個「最大連接數」的設定,它是指同時連接本地FTP的最多主機台數,如果你的電腦配置不是很好的話,建議不要超過5。
經過以上三步正確的配置後,你的FTP伺服器應該已經在工作了。為保險起見,我們可以在本機先測試一下訪問是否正常,方法很簡單:在瀏覽器的地址欄里輸入(ftp://你在花生殼中申請的免費域名),如果能看到你在IIS「主目錄」中設定的路徑下的目錄和文件,那就成功了。
補充:在安全用戶設置中,IIS與其他專業的FTP伺服器軟體不同,它是基於Windows用戶帳號進行管理,而本身並不支持隨意設定允許訪問帳戶的;要添加或刪除某個允許訪問的帳戶,必須先在控制面板的「管理工具」中的「計算機管理」里去設置,然後再通過IIS「安全賬戶」選項卡中的「FTP站點操作員」選項添加或刪除。