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

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

1、搭建环境

阿里云服务器:ubuntu 16.04/18.04

2、安装ftp服务器工具

安装vsftpd

sudo 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


如何将自己的电脑设置成FTP服务器

如果只是想建个小型的同时在线用户数不超过10个的ftp服务器,且不会同时进行大流量的数据传输,可以用IIS(Internet服务器)作为服务器软件来架设。
以Windows XP中的IIS 5.0为例。
1.安装IISWindows XP默认安装时并不安装IIS组件,需要手工添加安装。进入控制面板,找到“添加/删除步骤”,打开后选择“添加/删除Windows组件”,在发明的
“Windows组件向导”对话框中,选中“Internet信息服务(IIS)”选项。点击“详细信息”按钮,在发明的“Internet信息服务(IIS)”对话框中,选中“文件传输
协议(ftp)服务”选项,然后点击“确定”按钮即可。
安装完毕,按照系统提示重新启动计算机即可。电脑重启后,ftp服务即开始运行。
2.设置IIS点击“开始→所有步骤→管理工具→Internet信息服务”菜单项,打开“Internet信息服务”对话框,右键点击“默认ftp站点”选项,选择“属性”命令。在
发明的“属性”对话框中,我们可以设置ftp服务器的名称、IP、端口、访问账户、ftp目录职位地方、用户进入ftp时接收到的消息等信息。
(1)ftp站点基本信息
点击“ftp站点”选项卡,其中的“描述”选项为该ftp站点的名称,可以随意填写;“IP地址”选项为服务器的IP,系统默认为“(全部未分配)”,一般不需
改动(如果有两个或两个以上的IP地址,最好指定为公网IP);“TCP端口”选项一般仍设为默认的21端口;“连接”选项用来设置允许同时连接服务器的用户最大连
(2)设置账户及其权限
许多ftp站点都要求用户输入用户名和密码才能登录,这个用户名和密码就叫账户。不同用户可使用相同的账户访问站点,同一个站点可设置多个账户,每个账
户可拥有不同的权限,如有的可以上传和下载,而有的则只允许下载。
(3)安全设定
“本地访问”来管理。至于“ftp站点操作员”选项,是用来添加或删除本ftp服务器具有必定权限的账户。
IIS与其他专业的ftp服务器软件不同,它基于Windows用户账号进行账户管理,本身并不能随意设定ftp服务器允许访问的账户,要添加或删除允许访问的账户
,必须先在操作系统自带的“管理工具”中的“计算机管理”中去设置Windows用户账号,然后再通过“安全账户”选项卡中的“ftp站点操作员”选项来添加或删
除。但对付Windows 2000和Windows XP专业版,系统并不提供“ftp站点操作员”账户添加与删除功能,只提供Administrator一个管理账号。
(4)设置用户登录目录
点击“主目录”选项卡,在“本地路径”框中选择好ftp站点的根目录,并设置该目录的读取、写入、目录访问权限。
“目录列表样式”中“UNIX”和“MS-DOS”的区别在于:假设将C:\ftp设为站点根目录,则当用户登录ftp后,前者会使主目录显示为“\”,后者显示为
“C:\ftp”。
设置完成后,ftp服务器就算真正建成了。使用ftp客户端软件(如Cuteftp、Fllung burning ashFXP等)时,在“主机处”填写ftp服务器的IP地址.

如何组建FTP服务器?

A、你的电脑需上网,最好是ADSL,那样有公网IP,虽然是动态的
B、配置IIS
一、首先您需要判断自己的操作系统是否安装IIS:
1、右击“我的电脑”后单击“管理”
2、然后单击“服务和应用程序”
3、检查是否安装“Internet信息服务”如果没有安装,则服务和应用程序下面没有Internet信息服务。
4、如果系统已安装“Internet信息服务”,则可跳过第二步的安装过程。直接参考第三步的调试过程。
第二步:安装IIS,步骤如下:
3.1、插入Windows
xp光盘,单击“安装可选的windows组件”,选中“Internet信息服务(IIS)”后单击“下一步”完成安装。
三、最后调试好IIS运行环境,步骤如下:
首先请操作第一大点提到的相关步骤后再进行下面的操作;
5、用鼠标选中“默认网站”,然后点击右键找到“新建”->“虚拟目录”,在取别名时输入任意你想要的名称,这里我们假设输入的是“web”。
6.再往下一步是选择“网站内容目录”,用“浏览”选中你所希望的网站保存位置。
7.再下一步是设置访问权限。如果你没有特别需要,保留系统默认值,进入下一步,设置虚拟目录的访问权限,选择读取和运行脚本即可,后面三项不要选择。最后点“完成”。
至此,虚拟目录就设置完成了。单击“浏览”,检查是否能运行asp程序(如果右侧窗口能正常显示网页侧表明安装成功)。或者在E浏览器地址栏内输入“,没有的话,就随便填一个;

6、 “下一步”,询问你是否允许匿名访问。一般说来,匿名访问是以Anonymous为用户名称登录的,无需密码,当然如果你想成立一个会员区什么的,就应该选择“否”,不让随便什么人都可以登录,只有许可用户才行,在此我们填“是”;

7、 “下一步”,问你匿名用户登录到你的电脑时的目录,你可以自己指定一个硬盘上已存在的目录,如E:\temp;

8、 “下一步”,询问你是否要锁定该目录,锁定后,匿名登录的用户将只能认为你所指定的目录(F:\temp)是根目录,也就是说它只能访问这个目录下的文件和文件夹,这个目录之外就不能访问,对于匿名用户一般填“是”;

9、 “下一步”,询问你是否创建命名的帐号,也就是说可以指定用户以特定的帐号访问你的FTP,这对于办会员区可很有用哦,你可以对于每个人都创建一个帐号,每个帐号的权限不同,就可以不同程序地限制每个人的权利,方法将在后面讲到,这里选择“是”;

10、 “下一步”,请你填入所要建立的帐号的名称

11、“下一步”,请输入密码,如:874

12、 “下一步”,询问登录目录是什么,这一步与第7步一样,如:F:\temp

13、 “下一步”,询问你是否要锁定该目录,同第8步,这里选择“否”;

14、 接下来询问你这次创建的用户的管理员权限,有几项选择:无权限,组管理员,域管理员,只读管理员和系统管理员,每项的权限各不相同;这里选择“系统管理员”;

15、 最后一步,点击“完成”就OK了,你有什么需要修改的,可以点“上一步”,或者进入Serv-U管理员直接修改。至此,我们建立了一个域ftp.abc.com,两个用户,一个Anonymous,一个ldr。既然我们已经建立好FTP服务器,那么我们就应该可以用FTP客户端软件来尝试登录。怎么办呢?其实很简单,我们不用上网,就可以测试。我们知道,不上网时,本地机的IP地址默认就为127.0.0.1,FTP端口号为21。
Serv-U管理员中的各项设置

在设置完成后,将会进入Serv-U管理员的主界面,左边窗格中显示各个栏目,右边窗格中显示各个栏目的具体选项,下面就大概讲一讲设置内容。

1、 中,我们可以人 为地控制Serv-U引擎的运行或停止,记住,在Win 9x/Me 中,我们就要在此选择“系统服务”,才会运行Serv-U引擎。

2、 “许可”,如果你花美元买了注册号,就可以在此输入。

3、 “设置”,这个设置是对于“本地服务器”来说的。“常规”设置中可以限制服务器的最大速度,可以拦截FXP(站点到站点传送),也可以限制用户的数量,这样不至于你的服务器被拖跨。“目录缓存”设置中允许你自己确定目录列表的个数以及超时时间,在Windows 95 和 NT下,目录列表默认设置为25,当缓存满了之后,新的请求将替换老的请求。“高级”设置中可以让你自己定义服务器、Socket、文件的上传和下载的各项设置。

4、 “活动”,在这里记录了用户的活动日志,已封锁的IP的活动日志,以及任务日志;任务日志中显示的就是你开始停止的各项操作记录,你可以点击右键,选择此过滤文本,使其只显示你所想见的内容。

5、 “域”,这里包含了你一开始根据向导所建立的用户、设置、域等。“域--设置”中所设置的内容其实与第3步差不多,只是它更加具体,可以对于每一个不同域定制。“域--活动”中记载了这个域下所有用户的活动情况。

6、 “域--组”,我们可以自己建立一些便于管理的组,然后把一类的用户归到一个组中。

7、 “域--用户”中
A、
对于一些不守规则的人,我们可以选择“禁用帐号”,虽然有帐号,但可以使用户一时间无法登录;你也可以设置让程序到达某个日期后自动删除某个帐号;下面几栏是这个帐号的基本信息,我们都可以在此更改,其中密码改过后并不显示,而是统一显示<<Encrypted>>,特别要注意选项“锁定用户于主目录”,什么意思呢?大家应该碰到,每次我们登录到FTP服务器上后,在根目录下只显示“/”,选择这项选项后,就是这样,如果不选,会出现什么情况呢?你可以做一下试验,在根目录下将显示“/f:/myself/”,也就是说显示了你硬盘中的绝对地址,这在某些情况下是很危险的,有不怀好意的高手,你就麻烦了!

B、“常规”栏
你可以隐藏属性为隐藏的文件,可以限制同一IP的登录个数,是否允许用户更改密码(这需要客户端软件的支持),最大上传下载的速度,超时时间以及空闲时间,你也可以限制最大用户数量,如20,说明同时只能有20个用户登录。

C、“目录访问”栏
在此你可以控制用户对于文件目录的权限,对文件有读取、写入、删除、追加、执行等操作,对于文件夹有列表、创建、删除,以及是否继承子目录;如果觉得目录不够,你也可以添加可访问的目录。

D、“IP访问”栏
在这里你可以规定某个IP是否可以访问你的FTP服务器,你可以拒绝它的访问,只要填上相应的IP地址,以后由这个IP的访问通通被拦下。

E、“上传/下载率”栏
在这里你可以设置上传和下载之间的比值,控制好上传和下载之间的数据流量关系。

F、“配额”栏
这里你可以为每个FTP用户设置磁盘空间,点击“计算当前”,可以知道当前目录下的所有空间大小,在“最大”一栏中填入你想要限制的容量。最后有一点,改过设置后一定要点击右键,选择“应用”使设置生效才行,否则一切都白做了!!