搭建FTP服务器

FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。 FTP是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。

在当下这个网盘到处限速收费的情况下,自己搭建一个FTP服务器,也是一个不错的选择。

1、搭建环境

阿里云服务器:ubuntu 16.04/18.04

2、安装ftp服务器工具

安装vsftpdsudo apt-get update sudo apt-get install vsftpd设置成开机服务systemctl enable vsftpd.service启动ftp服务systemctl start vsftpd.service运行命令,查看ftp服务的端口号netstat -antup | grep ftp

3、参数配置

配置文件路径:/etc/vsftpd.conf基本配置如下:# 禁止匿名用户登录 anonymous_enable=NO # 允许系统用户登录 local_enable=YES # 启用可以修改文件的 FTP 命令 write_enable=YES # 本地用户创建文件的 umask 值 local_umask=022 # 允许为目录配置显示信息,显示每个目录下面的message_file文件的内容 dirmessage_enable=YES # 开启日记功能 xferlog_enable=YES # 使用标准的20端口来连接ftp connect_from_port_20=YES # 使用标准日志格式 xferlog_std_format=YES # 如果启动这项功能,则所有列在chroot_list_file之中的使用者不能更改根目录 chroot_list_enable=YES # 指定限制的用户文件 chroot_list_file=/etc/vsftpd/chroot_list # ftp服务器将处于独立启动模式 listen=YES # 设置一个本地用户登录后进入到的目录 local_root=/home/ftp # 设置PAM认证服务的配置文件名称,该文件保存在“/etc/pam.d/”目录下 pam_service_name=vsftpd # ftp将检查userlist_file设置文件中指定的用户是否可以访问vsftpd服务器 userlist_enable=YES # 只允许user_list文件中记录的ftp用户能登录vsftp服务,其他的ftp用户都不可以登录。 userlist_deny=NO # 定义限制/允许用户登录的文件 userlist_file=/etc/vsftpd/allowed_users # ftp服务器将使用tcp_wrappers作为主机访问控制模式 tcp_wrappers=YES # 连接ftp服务费使用的端口 listen_port=21

如需开启被动模式,增加如下配置参数

#开启被动模式。 pasv_enable=YES allow_writeable_chroot=YES #设置被动模式下,建立数据传输可使用的端口范围的最小值。 #建议您把端口范围设置在一段比较高的范围内,例如50000~50010,有助于提高访问FTP服务器的安全性。 pasv_min_port=50000 #设置被动模式下,建立数据传输可使用的端口范围的最大值。 pasv_max_port=50010

因为ftp服务器是搭建在阿里云上的,所以要根据以上配置设置下安全组规则,开启20/21;50000/50010的端口。

allowed_users chroot_list文件配置

在/etc/vsftpd下,创建两个文件,没有文件夹的创建该文件夹

1)allowed_users 是允许的用户文件,允许的用户,把账户名写入即可

2)chroot_list 是限制的用户文件,没有限制的,保留空文件即可

配置完成后重启ftp服务

sudo systemctl restart vsftpd.service

查看服务器运行状态

sudo systemctl status vsftpd.service

这样ftp服务器就配置好了,用工具登陆试下

4、可能的错误如下

如果在启动ftp服务时,出现如下错误

关闭配置/etc/vsftpd.conf中ipv6设置再重启服务即可

listen_ipv6=NO