搭建FTP站点

FTP是用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式。vsftpd 是 Linux 下的一款小巧轻快、安全易用的 FTP 服务器软件。

本文档将介绍如何通过vsftpd搭建FTP站点。

工具准备

一台云服务器ECS(可以远程登录),EIP(公网IP)

使用指引

创建一台云服务器->安装vsftpd -> 配置vsftpd -> 设置安全组->测试客户端

操作步骤

1、vsftpd的安装

安装vsftpd

# yum install -y vsftpd

设置FTP服务开机自启动

# systemctl enable vsftpd.service

启动 FTP 服务

# systemctl start vsftpd.service

查看 FTP 服务监听的端口

2、vsftpd的配置

为FTP服务创建一个用户

# useradd ftpuser

修改ftpuser 用户的密码

# passwd ftpuser

创建一个供FTP服务使用的文件目录

# mkdir /var/ftp/test

更改/var/ftp/user目录的拥有者为ftpuser

# chown -R ftpuser:ftpuser /var/ftp/user

修改vsftpd.conf配置文件

# vim /etc/vsftpd/vsftpd.conf

主动模式:

不允许匿名登录FTP服务器

# anonymous_enable=NO

允许本地用户登录FTP服务器

# local_enable=YES

FTP本地用户使用的文件目录

# local_root=/var/ftp/user

所有用户都被限制在其主目录

# chroot_local_user=YES

启用例外用户名单

# chroot_list_enable=YES

例外用户名单

# chroot_list_file=/etc/vsftpd/chroot_list

保存并退出

在“/etc/vsftpd/”目录下创建“chroot_list”文件

# vi /etc/vsftpd/chroot_list

如果需要设置某个用户不受只可以访问其主目录的限制,可将对应的用户名写入该文件。

若没有,则直接保存空文件并退出。

命令重启vsftpd服务使配置生效

# service vsftpd restart

3、设置安全组

登陆控制台,在弹性云服务器安全组的入方向添加一条放行FTP端口的规则

4、客户端测试

在地址栏中输入ftp://:FTP端口,输入用户名密码即可

常见问题

1、vsftpd服务不能重新启动

查看服务状态

# systemctl status vsftpd.service

问题Failed to start vsftpd ftp ...

# vim /etc/vsftpd/vsftpd.conf

修改配置,改为listen=NO