在 CentOS 7 中配置FTP服务器

前言

 
昨天晚上闲的无聊,准备填一下很早之前挖的坑:在CentOS中配置一个FTP内网服务器。填坑倒是很快,不到一个小时就ok了,不过今天早上突然发现各种问题,于是查查改改了一天,终于初见成效,于是写下这篇文章分享给大家。

最后的成果基本上是一个安全性极低,非常非常基本且简易的FTP服务器。不过可以慢慢完善嘛,对吧~


安装

 
首先需要查看我们的Linux上是否有vsftpd,没有的话则需要安装。
[cc lang = “bash” escaped = “true”]
#查看是否安装了vsftpd啊啊啊啊啊啊啊啊啊啊啊啊啊
rpm -q vsftpd

#安装vsftpd
yum -y install vsftpd
[/cc]
CentOS 7 在安装的时候可以选择,如果你当时选择了FTP服务器,那么一般是有vsftpd的。

这里我遇到一个坑,就是无法使用yum,原因大概是“源”的问题。最后的解决方案是在网上下载了一个配置文件,然后改名即可。


防火墙和SELinux

 
这两步的原理我不知道,照做即可。。。(以后我会懂的!
[cc lang = “bash” escaped = “true”]
#为防火墙添加FTP服务
firewall-cmd –permanent –zone=public –add-service=ftp
firewall-cmd –reload

#修改配置
vim /etc/selinux/config

#注释掉
#SELINUX=enforcing
#注释掉
#SELINUXTYPE=targeted
#增加
SELINUX=disabled

:wq! #保存退出

#设置SELinux 成为permissive模式 (关闭SELinux)
setenforce 0
[/cc]
 


修改配置文件

 
我从网上粘过来的,照做即可,不过一般不怎么需要修改。
[cc lang = “bash” escaped = “true”]
vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO #不允许匿名访问,禁用匿名登录
chroot_local_user=YES #启用限定用户在其主目录下
use_localtime=YES #使用本地时(自行添加)
chroot_list_enable=YES
local_enable=YES #允许使用本地帐户进行FTP用户登录验证
allow_writeable_chroot=YES #如果启用了限定用户在其主目录下需要添加这个配置,解决报错 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
xferlog_enable=YES #启用上传和下载的日志功能,默认开启。
local_umask=022 #设置本地用户默认文件掩码022
#FTP上本地的文件权限,默认是077,不过vsftpd安装后的配置文件里默认是022
[/cc]
 


创建系统用户

 
新建系统用户ftpuser(这个可以取自己喜欢的),用户目录为/home/vsftpd(没有的话需要mkdir一下)。
[cc lang = “bash” escaped = “true”]
#创建用户ftpuser,指定/home/vsftpd为其目录
useradd -g root -M -d /home/vsftpd -s /sbin/nologin ftpuser

#设置用户ftpuser的密码
passwd ftpuser

#设置权限
chown -R ftpuser.root /home/vsftpd
[/cc]
 


服务器运维

 
服务器的开启和关闭。
[cc lang = “bash” escaped = “true”]
#启动服务
systemctl start vsftpd.service

#重启服务
systemctl restart vsftpd.service

#停止服务
systemctl stop vsftpd.service

#服务器状态查看啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
systemctl status vsftpd.service
[/cc]
 


设置开机自动启动服务器

 
修改Linux中的开机配置文件即可。
[cc lang = “bash” escaped = “true”]
vim ~/.bashrc
#将systemctl start vsftpd.service填入其中
#下次开启Linux系统的时候即可实现自动开启FTP服务务务务务务务务务
[/cc]
 


固定内网IP

 
我本人用的小米路由器(不是广告),然后有固定内网IP的功能,这样一来,我们就可以把IP地址、用户名、密码存储在FTP工具中,每次打开电脑一点击就可以直接连上我们的FTP服务器了!


后记

 
这次就算是个小试牛刀,其实还可以配置虚拟用户,这样不同的用户名密码就可以限制访问不同的文件夹了。其实这个功能我是实现了的,不过实现了这个,系统用户又登不上去了,迷。。。。。。

然后还有个问题就是,我现在用系统用户登录的话居然可以访问整个Linux中的文件夹!!!虽然有些不能写入,但也足够危险可怕了!!!!!估计这块就是个权限以及系统配置的问题,还需深入学习。

最后就是看能否实现外网访问,估计应该可以。ps之前有位网友说,他家那边办理的宽带是独享一个公网IP,嗯,美滋滋。。。。。。!!!



Leave a Reply

Your email address will not be published. Required fields are marked *