IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁(yè)操作系統(tǒng)LINUX → linux VSFTP配置大全(1)

linux VSFTP配置大全(1)

時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)

  1 VSFTP 概述

  FTP,file transfer protocol,這是檔案?jìng)鬏數(shù)耐ㄓ崊f(xié)議,也是一般最常用來(lái)傳送檔案的方式。讀者在使用RedHat9 的時(shí)候,可能會(huì)感受到ftp server 有一些改變:第一,就是ftp server 只剩下vsftp,原有的wuftp 等都沒放入﹔第二,就是vsftp 從XINETD 中獨(dú)立出來(lái),并將設(shè)定檔從/etc/vsftpd.conf 之中移到/etc/vsftpd/vsftpd.conf。

  為什么做這樣的改變?可以想見的是vsftp 已有獨(dú)立運(yùn)作的能力,不需要XINETD 來(lái)做更進(jìn)一步的管控,并且類似sendmail、httpd、ssh、samba 等,將設(shè)定文件的放入/etc 下獨(dú)立的目錄。

  FTP 分為兩類,一種為PORT FTP,也就是一般的FTP﹔另一類是PASVFTP,分述如下:

  PORT FTP

  這是一般形式的FTP,首先會(huì)建立控制頻道,默認(rèn)值是port 21,也就是跟port 21 建立聯(lián)機(jī),并透過(guò)此聯(lián)機(jī)下達(dá)指令。第二,由FTP server 端會(huì)建立數(shù)據(jù)傳輸頻道,默認(rèn)值為20,也就是跟port 20 建立聯(lián)機(jī),并透過(guò)port 20 作數(shù)據(jù)的傳輸。

  PASV FTP

  跟PORT FTP 類似,首先會(huì)建立控制頻道,默認(rèn)值是port 21,也就是跟port 21 建立聯(lián)機(jī),并透過(guò)此聯(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)境之下,透過(guò)client 與server 的溝通,決定數(shù)據(jù)傳輸?shù)膒ort。

  2 范例

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

  這個(gè)范例是套用RedHat 的預(yù)設(shè)范例,直接啟動(dòng)vsftp。

  [root@relay vsftpd]# /sbin/service vsftpd start

  Starting vsftpd for vsftpd: OK ]

  2. 更換port 提供服務(wù):將預(yù)設(shè)的port 21 更換為2121

  為了安全,或是以port 來(lái)區(qū)隔不同的ftp 服務(wù),我們可能會(huì)將ftp port 改為21 之外的port,那么,可參考以下步驟。

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

  新增底下一行

  listen_port=2121

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

  [root@home vsftpd]# /sbin/service vsftpd restart

  Shutting down vsftpd: OK ]

  Starting vsftpd for vsftpd: OK ]

  3. 特定使用者peter、john 不得變更目錄

  使用者的預(yù)設(shè)目錄為/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

  [root@home vsftpd]# /sbin/service vsftpd restart

  Shutting down vsftpd: OK ]

  Starting vsftpd for vsftpd: OK ]

  若是peter 欲切換到根目錄以外的目錄,則會(huì)出現(xiàn)以下警告:

  ftp> cd /home

  550 Failed to change directory.

  4. 取消anonymous 登入

  若是讀者的主機(jī)不希望使用者匿名登入,則可參考以下步驟。

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

  將

  anonymous_enable=YES

  改為

  anonymous_enable=NO

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

  [root@home vsftpd]# /sbin/service vsftpd restart

  Shutting down vsftpd: OK ]

  Starting vsftpd for vsftpd: OK ]

#p#副標(biāo)題#e#

  5. 安排歡迎話語(yǔ)

  若是我們希望使用者在登入時(shí),能夠看到歡迎話語(yǔ),可能包括對(duì)該主機(jī)的說(shuō)明,或是目錄的介紹,可參考以下步驟。

  首先確定在/etc/vsftpd/vsftpd.conf 當(dāng)中是否有底下這一行

  dirmessage_enable=YES

  RedHat9 的默認(rèn)值是有上面這行的。

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

  Hello~ Welcome to the home directory

  This is for test only...

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

  Welcome to abcs 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 abcs directory

  250-

  250- This is subdir ...

  6. 對(duì)于每一個(gè)聯(lián)機(jī),以獨(dú)立的process 來(lái)運(yùn)作

  一般啟動(dòng)vsftp 時(shí),我們只會(huì)看到一個(gè)名為vsftpd 的process 在運(yùn)作,但若是讀者希望每一個(gè)聯(lián)機(jī),都能以獨(dú)立的process 來(lái)呈現(xiàn),則可執(zhí)行以下步驟。

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

  新增底下一行

  setproctitle_enable=YES

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

  [root@home vsftpd]# /sbin/service vsftpd restart

  Shutting down vsftpd: OK ]

  Starting vsftpd for vsftpd: OK ]

  使用ps -ef 的指令,可以看告不同使用者聯(lián)機(jī)的情形,如下圖所示:

  [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. 限制傳輸檔案的速度:

  本機(jī)的使用者最高速度為200KBytes/s,匿名登入者所能使用的最高速度為50KBytes/s。

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

  新增底下兩行

  anon_max_rate=50000

  local_max_rate=200000

  Step2. 重新啟動(dòng)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 所限制的是本機(jī)的使用者。VSFTPD 對(duì)于速度的限制,范圍大概在80%到120%之間,也就是我們限制最高速度為100KBytes/s,但實(shí)際的速度可能在80KBytes/s 到120KBytes/s 之間,當(dāng)然,若是頻寬不足時(shí),數(shù)值會(huì)低于此限制。

  8. 針對(duì)不同的使用者限制不同的速度:假設(shè)test1 所能使用的最高速度為250KBytes/s,test2 所能使用的最高速度為500KBytes/s。

  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

  [root@home vsftpd]# /sbin/service vsftpd restart

  Shutting down vsftpd: OK ]

  Starting vsftpd for vsftpd: OK ]

  9-1. 建置一個(gè)防火墻下的ftp server,使用PORT FTP mode:

  預(yù)設(shè)的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

#p#副標(biāo)題#e#

  9-2. 建置一個(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

  [root@home vsftpd]# /sbin/service vsftpd restart

  Shutting down vsftpd: OK ]

  Starting vsftpd

關(guān)鍵詞標(biāo)簽:linux,VSFTP配置

相關(guān)閱讀

文章評(píng)論
發(fā)表評(píng)論

熱門文章 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 多種操作系統(tǒng)NTP客戶端配置 多種操作系統(tǒng)NTP客戶端配置 Linux操作系統(tǒng)修改IP Linux操作系統(tǒng)修改IP

相關(guān)下載

    人氣排行 Linux下獲取CPUID、硬盤序列號(hào)與MAC地址 dmidecode命令查看內(nèi)存型號(hào) linux tc實(shí)現(xiàn)ip流量限制 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 linux下解壓rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 關(guān)機(jī)、重啟、注銷 命令 查看linux服務(wù)器硬盤IO讀寫負(fù)載