您现在的位置是:首页> 操作系统> Linux

LINUX系统上架设FTP服务器

  • 4148人已阅读
  • 时间:2019-10-31 20:13:44
  • 分类:Linux
  • 作者:祥哥

CentOS上搭建FTP服务器

服务器软件:vsftpd

简要说明:vsftpd是linux下的一款小巧轻快,安全易用的FTP服务器软件,是一款在各个LINUX发行版中最受推崇的FTP服务器软件。至于它的安装教程,网络上也是数不胜数,每个教程都有各自的优缺点,祥哥特意做了个总结,取别人之长处,尽量做到菜鸟级别的教程。当你看见祥哥的这篇文章,能更好的使用和运用VSFTPD。下面正题开始。

  1. 安装vsftpd,直接yum安装就可以了。

yum install -y vsftpd

图片20

出现下面的图表示安装成功

图片21

到此为止,VSFTPD就安装成功了。

2.设置开机自动开启FTP服务

chkconfig vsftpd on  //设置开机自启动
service vsftpd restart //重新启动ftp服务
netstat -antup|grep ftp //查看ftp服务端口
#如果是centos 7.5以上
systemctl enable vsftpd //设置开机自启动
systemctl start vsftpd  //启动FTP服务

3.FTP服务器的访问

开启vsftpd服务后,vsftpd默认开启了匿名登陆访问,所以按理说是可以直接访问的。但用户为什么访问打不开呢?是因为防火墙把你拒之门外了。

4.配置防火墙

    4.1添加FTP端口

vi /etc/sysconfig/iptables
在REJECT之前添加21端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

如果是7.5访火墙配置
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --reload

    4.2添加ip_conntrack_ftp防火墙模块

vi /etc/sysconfig/iptables-config

添加下面一行

IPTABLES_MODULES="ip_conntrack_ftp"

    4.3重启iptables使新的规则生效

root@localhost ~]# service iptables restart

到此,相信你的FTP匿名登陆是成功的了。但祥哥还要说一点,这点是配置了用户登陆后,有很多人还是登录不了,并报了503错误。接下看

5.关闭selinux

vi /etc/selinux/config

注释掉所有,并添加

SELINUX=disabled

需要注意,要想使selinux生效,需重新启动服务器,如果服务器暂不能重启可以使用下面的命令,临时修改selinux的策略。

setenforce 0

祥哥特别说明,有人这么做了还是503,那么我们就要检查一下selinux的设置

[root@localhost ~]#getsebool -a |grep ftp
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> off
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
allow_tftp_anon_write --> off
ftp_home_dir --> off
ftpd_connect_db --> off
ftpd_disable_trans --> off
ftpd_is_daemon --> on
httpd_enable_ftp_server --> off

这是selinux的问题,我们只要打开ftp_home_dir的值开启为on:,allow_ftpd_full_access也一同开启即可。

[root@localhost ~]#setsebool -P ftp_home_dir 1
[root@localhost ~]#setsebool -P allow_ftpd_full_access 1

经过上面的配置,相信你的FTP服务器已经成功访问了。但我们的FTP不是光匿名访问应用的,甚至我们还要关闭匿名访问。这就需要了解vsftpd的配置文件了。

6.配置文件目录及配置文件说明

/etc/vsftpd/vsftpd.conf //主配置文件,核心配置文件
/etc/vsftpd/ftpusers  //这个文件很多站解释成黑名单,这个里面的用户不允许访问FTP服务器,祥哥告诉你这个可不一定,这种说法不是完全正确的。
/etc/vsftpd/user_list //这个文件很多站解释成白名单,是允许访问FTP服务器的用户列表,这个也是不完全正确的。上面的两个文件是允许还是拒绝还要看相关的配置文件。

下一篇文章,祥哥详解vsftp的配置文件。

Top