基于CentOS搭建FTP文件服务

Jan 2,2018   1370 words   5 min

Tags: Linux

在上一篇博客中提到了FTP服务,这里就简单搭建一个FTP服务器,这样传输文件会快一些。

1.安装VSFTPD

使用yum安装vsftpd。

yum install vsftpd -y

vsftpd 是在 Linux 上被广泛使用的 FTP 服务器,根据其官网介绍,它可能是 UNIX-like 系统下最安全和快速的 FTP 服务器软件。

2.启动VSFTPD

安装完成后,启动 FTP 服务。

service vsftpd start

启动后,可以看到系统已经监听了21端口。FTP 协议默认使用 21 端口作为服务端口。

netstat -nltp | grep 21

此时,访问ftp://<您的IP地址> 可浏览机器上的`/var/ftp`目录了。

3.配置FTP权限

目前FTP服务登陆允许匿名登陆,也无法区分用户访问,我们需要配置FTP访问权限。

(1)阻止匿名访问和切换根目录

匿名访问和切换根目录都会给服务器带来安全风险,我们把这两个功能关闭。匿名访问让所有人都可以上传文件到服务器上而无需鉴权,而允许切换根目录则可能产生越权访问问题。 编辑/etc/vsftpd/vsftpd.conf,找到下面两处配置并修改:

# 禁用匿名用户
anonymous_enable=NO

# 禁止切换根目录
chroot_local_user=YES

编辑完成后,保存配置,重新启动FTP服务。

service vsftpd restart
(2)创建FTP用户

创建一个用户ftpuser。

useradd ftpuser

为用户ftpuser设置密码,其中“”里的即为密码内容。

echo "Password" | passwd ftpuser --stdin

限制该用户仅能通过 FTP 访问。限制用户ftpuser只能通过FTP访问服务器,而不能直接登录服务器。

usermod -s /sbin/nologin ftpuser

为用户分配主目录。 为用户ftpuser创建主目录并约定:

  • /data/ftp为主目录, 该目录不可上传文件
  • /data/ftp/pub文件只能上传到该目录下
mkdir -p /data/ftp/pub

创建登录欢迎文件。

echo "Welcome to use FTP service." > /data/ftp/welcome.txt

设置访问权限。

chmod a-w /data/ftp && chmod 777 -R /data/ftp/pub

设置为用户的主目录。用户的主目录是用户通过 FTP 登录后看到的根目录。

usermod -d /data/ftp ftpuser

至此FTP服务器就搭建完成了。可以在Windows下进行测试。

4.测试

在文件管理器中输入”ftp://198.199.100.146”,然后就会出现登陆界面,依次输入用户名和密码,即可登陆。 我们也可以在我的电脑中添加一个网络位置,这样下次直接就可以打开了。 从服务器传输文件到本地,测试速度在4MB/S左右。从本地上传文件,速度在0.4MB/S左右。测试速度还比较稳定。 而且比XShell的文件传输速度要快。 这样就可以利用服务器挂机下载资源了。对于有些在国内下载网速非常慢的资源,可以先获取到服务器上,然后再从服务器用FTP方式传回本地。 甚至可以写个Python脚本利用wget批量下载文件。

本文作者原创,未经许可不得转载,谢谢配合

返回顶部