1. 程式人生 > >更改vsftpd默認的/var/ftp/pub目錄

更改vsftpd默認的/var/ftp/pub目錄

更改vsftpd默認的/var/ftp/pub目錄 ftp源



配置ftp源,並修改匿名用戶默認用戶登錄訪問根目錄


下圖是本地文件的鏡像

技術分享



一、安裝FTP配置yum源

1、安裝FTP軟件

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

# service vsftpd start 啟動FTP服務

#chkconfig --add vsftpd
#chkconfig vsftpd on

2. 把centos6.5的光盤掛載到服務器上,之後拷貝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包

# rpm -ivh python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm
# rpm -ivh createrepo-0.9.9-18.el6.noarch.rpm

在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便無法瀏覽、下載等建立數據通道;此時可以這樣設置,方法如下 :

vim /etc/vsftpd/vsftpd.conf
#connect_from_port_20=YES          #設置數據端口為20,此行註釋!
pasv_enable=YES                    #啟用被動模式
pasv_min_port=9000               #設置被動模式最小端口
pasv_max_port=9010              #設置被動模式最大端口


我們再設置防火墻規則:

iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 8000:8010 -j ACCEPT          #放行8000:8010端口
IPTABLES_MODULES="ip_nat_ftp ip_conntrack_ftp"       #讓kenel加載FTP模塊
或modprobe  ip_nat_ftp ip_conntrack_ftp


然後重啟vsftpd服務即可!
好處:ftp客戶端無需關心防火墻的設置,只要在服務器端開放21及數據端口就OK!


2、當FTP服務器工作在主動模式下時,Linux防火墻要開放21端口及ip_nat_ftp,ip_conntrack_ftp模塊;

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

IPTABLES_MODULES="ip_nat_ftp"
IPTABLES_MODULES="ip_conntrack_ftp"


再開防火墻策略,如下:

iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 21 -j ACCEPT


另一點要註意的是,客戶端默認狀態是被動模式,一定要記得改為主動模式,否則你在客戶端登錄後提示你權限不足,是因為數據端口的原因!
註意:FTP客戶端的防火墻要開通20數據端口!


cat /etc/sysconfig/iptables
# Generated by iptables-save v1.4.7 on Tue May 16 10:56:54 2017
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [43:3768]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -p icmp -j ACCEPT 
-A INPUT -i lo -j ACCEPT 
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT 
-A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT 
-A INPUT -j REJECT --reject-with icmp-host-prohibited 
-A INPUT -s 168.1.5.132/32 -p tcp -m tcp --dport 7001 -j ACCEPT 
-A FORWARD -j REJECT --reject-with icmp-host-prohibited 
COMMIT
*nat
:PREROUTING ACCEPT [1972:167817]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [446:29864]
-A PREROUTING -p tcp -m tcp --dport 7001 -j DNAT --to-destination 168.1.5.132:7001
-A PREROUTING -d 218.90.136.90/32 -p tcp -m tcp --dport 7001 -j DNAT --to-destination 168.1.2.138:7001
-A POSTROUTING -j MASQUERADE
COMMIT
# Completed on Tue May 16 10:56:54 2017


本文出自 “運維筆錄 美玲” 博客,請務必保留此出處http://meiling.blog.51cto.com/6220221/1927218

更改vsftpd默認的/var/ftp/pub目錄