天天看點

更改vsftpd預設的/var/ftp/pub目錄

配置ftp源,并修改匿名使用者預設使用者登入通路根目錄

下圖是本地檔案的鏡像

<a href="https://s3.51cto.com/wyfs02/M00/96/26/wKiom1kdWl7wg0o0AABtD6HYV2c756.jpg-wh_500x0-wm_3-wmp_4-s_3581739437.jpg" target="_blank"></a>

一、安裝FTP配置yum源

1、安裝FTP軟體

# yum install -y vsftpd*    安裝FTP軟體

# service vsftpd start    啟動FTP服務

#chkconfig --add vsftpd

#chkconfig vsftpd on

2. 把centos6.5的CD光牒挂載到伺服器上,之後拷貝DVD中所有檔案到本機ftp目錄下

#mount /dev/cdrom /mnt

#mkdir -p /opt/ftp/centos6.5

#cp -r /mnt/* /opt/ftp/centos6.5

3、編輯yum配置檔案

# vi /etc/yum.repos.d/yum.repo

[Packages]

name=Packages

baseurl=ftp://你yum伺服器IP位址/centos6.5   ftp通路的的目錄是/opt/ftp,是以後面要加上底下目錄centos6.5

enable=1

gpgcheck=0

二、修改匿名使用者預設使用者登入通路根目錄

要實作更改預設通路的目錄為其他目錄例如/opt/ftp我直接在/opt目錄下mkdir -p /opt/ftp/centos6.5,預設權限是:755注意改完配置後都service vsftpd restart

測試步驟如下

vi /etc/vsftpd/vsftpd.conf

直接在配置檔案中添加如下:

anon_root=/opt/ftp

anon_upload_enable=NO

服務重新開機

通過ftp://ip通路到/opt/ftp這個目錄(證明已經将預設目錄更改)。

進入到Packages目錄下安裝createrepo包

<code># rpm -ivh python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm</code>

<code># rpm -ivh createrepo-0.9.9-18.el6.noarch.rpm</code>

在createrepo -v /opt/ftp/centos6.5/repodata目錄下生成一些檔案

createrepo -v /opt/ftp/centos6.5/

三、VSFTP 工作模式

FTP般有2個通道分别為:

控制通道:管理使用者登入等,常用端口号:TCP的21;用戶端主動與伺服器建立連接配接

資料通道:使用者傳輸資料時所要用到的,如,浏覽目錄,上傳、下載下傳等;這個端口要分2種情況了,一種當FTP工作在主動模式(預設為主動模式)時開放20端口,伺服器主動用20端口去連接配接用戶端的動态端口;另一種情況是當FTP工作在被動模式時,用戶端會用自己的動态端口去連接配接到FTP伺服器的動态端口(伺服器開放動态端口被用戶端連接配接)。

1、我們知道VSFTP這個軟體,安全性很好,但是設定時候我們發現vsftp在開放防火牆時煩人得很,因為VSFTP的控制端口是21,資料端口在被動模式下是動态的,這一點很頭痛,如果防火牆隻開放21端口的話,client便無法浏覽、下載下傳等建立資料通道;此時可以這樣設定,方法如下 :

<code>vim /etc/vsftpd/vsftpd.conf</code>

<code>#connect_from_port_20=YES          #設定資料端口為20,此行注釋!</code>

<code>pasv_enable=YES                    #啟用被動模式</code>

<code>pasv_min_port=9000               #設定被動模式最小端口</code>

<code>pasv_max_port=9010              #設定被動模式最大端口</code>

我們再設定防火牆規則:

<code>iptables -A INPUT -p tcp --dport 21 -j ACCEPT</code>

<code>iptables -A INPUT -p tcp --dport 8000:8010 -j ACCEPT          #放行8000:8010端口</code>

<code>IPTABLES_MODULES="ip_nat_ftp ip_conntrack_ftp"       #讓kenel加載FTP子產品</code>

<code>或modprobe  ip_nat_ftp ip_conntrack_ftp</code>

然後重新開機vsftpd服務即可!

好處:ftp用戶端無需關心防火牆的設定,隻要在伺服器端開放21及資料端口就OK!

2、當FTP伺服器工作在主動模式下時,Linux防火牆要開放21端口及ip_nat_ftp,ip_conntrack_ftp子產品;

如:vim /etc/sysconfig/iptables-config在最後加上下面2行

<code>IPTABLES_MODULES="ip_nat_ftp"</code>

<code>IPTABLES_MODULES="ip_conntrack_ftp"</code>

再開防火牆政策,如下:

<code>iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT</code>

<code>iptables -A INPUT -m state --state NEW -p tcp --dport 21 -j ACCEPT</code>

另一點要注意的是,用戶端預設狀态是被動模式,一定要記得改為主動模式,否則你在用戶端登入後提示你權限不足,是因為資料端口的原因!

注意:FTP用戶端的防火牆要開通20資料端口!

<code>cat /etc/sysconfig/iptables</code>

<code># Generated by iptables-save v1.4.7 on Tue May 16 10:56:54 2017</code>

<code>*filter</code>

<code>:INPUT ACCEPT [0:0]</code>

<code>:FORWARD ACCEPT [0:0]</code>

<code>:OUTPUT ACCEPT [43:3768]</code>

<code>-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT </code>

<code>-A INPUT -p icmp -j ACCEPT </code>

<code>-A INPUT -i lo -j ACCEPT </code>

<code>-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT </code>

<code>-A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT</code>

<code>-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT </code>

<code>-A INPUT -j REJECT --reject-with icmp-host-prohibited </code>

<code>-A INPUT -s 168.1.5.132/32 -p tcp -m tcp --dport 7001 -j ACCEPT </code>

<code>-A FORWARD -j REJECT --reject-with icmp-host-prohibited </code>

<code>COMMIT</code>

<code>*nat</code>

<code>:PREROUTING ACCEPT [1972:167817]</code>

<code>:POSTROUTING ACCEPT [0:0]</code>

<code>:OUTPUT ACCEPT [446:29864]</code>

<code>-A PREROUTING -p tcp -m tcp --dport 7001 -j DNAT --to-destination 168.1.5.132:7001</code>

<code>-A PREROUTING -d 218.90.136.90/32 -p tcp -m tcp --dport 7001 -j DNAT --to-destination 168.1.2.138:7001</code>

<code>-A POSTROUTING -j MASQUERADE</code>

<code># Completed on Tue May 16 10:56:54 2017</code>

      本文轉自ling118 51CTO部落格,原文連結:http://blog.51cto.com/meiling/1927218,如需轉載請自行聯系原作者

繼續閱讀