更改vsftpd默認的/var/ftp/pub目錄
配置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目錄