cenos6.5系统下构建FTP服务器

cenos6.5系统下构建FTP服务器


网络环境:

一台linux server ip 192.168.1.254linux client ip 192.168.1.100

需求描述:

1:禁止匿名用户登录

2:修改FTP默认端口为2121

3:禁锢本地用户在自己家目录

4:本地用户登录到/data/ftproot目录

5up用户上传/下载,down用户仅下载。拒绝所有用户登录包括匿名用户

6:最多20个并发,每IP地址最多2个并发,限制下载速度限制为100KB/s

实施步骤:

1:安装vsftp程序

[root@server Packages]# rpm -ivh vsftpd-2.2.2-11.el6_4.1.i686.rpm 

2:启动服务并设为开机启动

[root@server ~]# service vsftpd start

[root@server ~]# chkconfig vsftpd on

3:备份配置文件

[root@server ~]# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

4:编辑配置文件实现需求

[root@server ~]# mkdir /data/ftproot

[root@server ~]# vim /etc/vsftpd/vsftpd.conf

...
12 anonymous_enable=NO             //禁止匿名访问
...
120 listen_port=2121               //改ftp端口
121 chroot_local_user=yes          //禁锢登录目录
122 local_root=/data/ftproot        //改登录目录为/data/ftproot
123 userlist_deny=NO                //白名单生效
124 max_clients=20                   //最大并发客户端
125 max_per_ip=2                    //每ip最大并发
126 local_max_rate=100000            //限制下载速度
127  reverse_lookup_enable=NO             重要    //关闭默认的反向解析,加速登录

[root@server ~]# service vsftpd restart重启服务

5:编辑白名单实现账户访问控制

[root@server ~]# tail -2 /etc/vsftpd/user_list 

...
16 up
17 down

6:在服务器端给up用户添加本地写权限

[root@server ~]# setfacl -m u:up:rwx /data/ftproot


一般ftp用20与联21端口,开了这两个就行了
iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 20 -j ACCEPT

添加附加模块,链接追踪模块

#vim /etc/sysconfig/iptables-config//这个是永久的

IPTABLES_MODULES="ip_conntrack_netbios_ns ip_conntrack_ftp"


7:客户端测试

[root@client ~]# ftp 192.168.1.254 2121

Name (192.168.1.254:root): upup用户登录测试

230 Login successful

ftp> put install.log

local: install.log remote: install.log

227 Entering Passive Mode (192,168,1,254,247,195).

150 Ok to send data.

226 Transfer complete.

38109 bytes sent in 0.0426 secs (894.56 Kbytes/sec)

ftp> get install.log

local: install.log remote: install.log

227 Entering Passive Mode (192,168,1,254,20,170).

150 Opening BINARY mode data connection for install.log (38109 bytes).

226 Transfer complete.

38109 bytes received in 0.00206 secs (18463.66 Kbytes/sec)

Name (192.168.1.254:root): downdown用户登录测试

230 Login successful.

ftp> !ls

anaconda-ks.cfg  bootback.tar.gz  install.log  install.log.syslog  test  test.zip

ftp> put bootback.tar.gz 

local: bootback.tar.gz remote: bootback.tar.gz

227 Entering Passive Mode (192,168,1,254,44,97).

553 Could not create file.

ftp> get install.log

local: install.log remote: install.log

227 Entering Passive Mode (192,168,1,254,242,203).

150 Opening BINARY mode data connection for install.log (38109 bytes).

226 Transfer complete.

38109 bytes received in 0.000302 secs (126188.74 Kbytes/sec)

你可能感兴趣的:(ftp)