天天看点

更改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的光盘挂载到服务器上,之后拷贝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,如需转载请自行联系原作者

继续阅读