centos搭建ftp服务器

首先判断你服务器上是否安装了vsftpd

[root@centos64 vsftpd]# rpm -q vsftpd

安装vsftpd

[root@centos64 vsftpd]# yum -y install vsftpd

到vsftpd的主配置文件里面修改

[root@centos64 vsftpd]# vi vsftpd.conf

不准匿名登录

anonymous_enable=NO

不可以让ftp用户跳出自己的家目录,否则太危险了,需要做限制

chroot_local_user=YES

默认是注释掉的,把#号去掉 然后重启vsftpd

在文件尾部增加以下配置,为了让ftp能在被动模式下传输数据

pasv_enable=YES //开启PASV模式

pasv_min_port=40000 //最小端口号
pasv_max_port=40080 //最大端口号
pasv_promiscuous=YES

创建ftp用户

[root@centos64 vsftpd]# useradd -s /sbin/nologin -d /var/www/html huanglu

给yuanfei这个用户设置密码

[root@centos64 vsftpd]# passwd huanglu

然后给家目录修改权限,否则你无法上传文件

[root@centos64 vsftpd]# chmod -R 777 /var/www/html

修改selinux,先查找它的位置

[root@centos64 vsftpd]# find / -name 'selinux'

/usr/include/selinux
/usr/share/selinux
/selinux
/etc/sysconfig/selinux
/etc/selinux

由此可知在/etc/selinux目录下,进入配置文件

[root@centos64 vsftpd]# vi /etc/selinux/config

修改

SELINUX=disabled

默认是enforcing  把他修改为disabled

因为修改selinu后需要重启服务,因为服务器不可以重启所以执行下面这个命令,临时修改selinux的策略,无需重启!

[root@centos64 vsftpd]# setenforce 0

重启vsftpd服务,并且下次自动启动

[root@centos64 vsftpd]# service vsftpd restart
关闭 vsftpd: [确定]
为 vsftpd 启动 vsftpd: [确定]
[root@centos64 vsftpd]# chkconfig vsftpd on

配置防火墙,开发端口21和 40000~40080端口

[root@centos64 vsftpd]# vi /etc/sysconfig/iptables

添加以下几条规则

-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m multiport --dports 40000:40080 -j ACCEPT

保存退出后重启防火墙

[root@centos64 vsftpd]# service iptables restart

查看以下防火墙状态,看是否开放了相应的端口号

[root@centos64 vsftpd]# service iptables status
表格:filter
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 multiport dports 40000:40080

说明已经开发了,这样就可以连接ftp了,使用账号和密码登陆经过测试可用

用ftp上传下载文件时经常会遇到超时断开的情况,可以把超时调长一点就不会经常断开了

[root@centos64 vsftpd]# vi vsftpd.conf

data_connection_timeout=600

默认是注释掉的

然后重启ftp服务器就可以了

[root@centos64 vsftpd]# service vsftpd restart

原文地址:https://www.cnblogs.com/hltswd/p/6929402.html