FTP服务器的配置

  • Post author:
  • Post category:其他



FTP



文件传输协议

(File Transfer Protocol)的缩写,它是一套用于在网络上进行文件传输的标准协议,使得不同的主机间可以共享文件。



FTP服务器

,简单的说,就是支持FTP协议的服务器。与大多数的Internet服务一样,FTP也是一个

客户机/服务器系统

。我们可以通过一个支持FTP协议的客户机程序,连接到远程主机上的FTP服务器,向服务器发出命令,服务器执行我们发出的命令,并将执行的结果返回到我们的客户机。一般在各个大学中使用简单的FTP实现资源的共享,比如我们把一个比较大的软件的镜像文件上传至校园网的FTP服务器,学生只需要登录校园网,在地址栏中输入

ftp:// + ip地址

就可以进行访问下载,并且速度非常快。我们部署在电脑上的FTP服务器,不仅可以在局域网内访问FTP服务器,也可以在外网访问,只需要把地址端口映射到外网就可以,这个我们今天先不谈。

本文要讲的就是如何

配置自己的


FTP服务器

,Windows和Linux下都可以

配置自己的FTP服务器

,本文基于Windows10系统和Linux的Ubuntu18.04系统。


  • Windows10系统

  • Linux系统

Windows10系统


一、安装FTP服务器

首先,在Windows设置中搜索

启用或关闭Windows功能,

进入。

然后,勾选

FTP服务



FTP扩展性



IIS管理控制台

,点击确定,等待系统自动配置成功。


二、添加FTP站点

右键此电脑—>管理,找到

IIS管理器

,右键网站—>选择

添加FTP站点

按照提示填写站点信息, 物理路径从自己本地选择要放在服务器上的文件夹,我这里路径是用于测试的F盘下的FTP上传下载文件夹,填写完后点击下一步。

然后是

绑定端口号和SSL设置

,IP地址填写你自己电脑的IP地址,无SSL。

如果不知道自己电脑的IP地址可以在命令行中输入

ipconfig

,查看自己的IP地址。

最后是身份验证和授权信息,勾选完毕点击完成。就能看到我们已经创建好了一个我们自己的FTP服务器。


三、测试FTP站点

既然服务器已经搭建好了,我们来测试一下是不是可以访问了。现在刚才选择的物理路径下随便放入一个或几个文件。然后打开浏览器在地址栏输入

FTP地址(ftp:// + 你的IP地址)

,就可以看到我们刚才放在路径下的文件了。

另外,如果你想要设置在访问时需要用户名和密码才能登录,可以在IIS管理器中设置FTP身份验证。


Linux系统

我的Linux系统是Ubuntu18.04,我的用户名是

sakuya

,主机名是

ubuntu


1.下载和安装FTP

sakuya@ubuntu:~$ sudo apt-get install vsftpd


2.配置FTP

  • 设置FTP登录密码(用户名默认为系统用户名,不需要设置,我的是sakuya):
sakuya@ubuntu:~$ sudo passwd ftp
  • 修改vsftp的配置文件:
sakuya@ubuntu:~$ sudo gedit /etc/vsftpd.conf

输入后会打开名为vsftpd.conf的配置文件,修改里面的一些内容,修改完后点击保存。

在配置文件中找到”anonymous_enable=YES “改为 “anonymous_enable=NO”(是否允许匿名ftp,若不允许选NO)
取消如下配置前的注释符号:
local_enable=YES(是否允许本地用户登录)
write_enable=YES(是否允许本地用户写的权限)
chroot_local_user=YES(是否将所有用户限制在主目录)
chroot_list_enable=YES(是否启动限制用户的名单)
chroot_list_file=/etc/vsftpd.chroot_list(可在文件中设置多个账号)

重启FTP服务器:

sakuya@ubuntu:~$ sudo service vsftpd restart


3.测试FTP站点

FTP服务器已经安装和配置好了,再测试一下。

Linux下获取IP地址,终端中输入:

ifconfig -a

和Windows一样在浏览器地址栏中输入

FTP地址(ftp:// + 你的IP地址)

,然后输入你的用户名和刚才设置的密码即可访问,只要在同一局域网内都可以,不论是Linux还是Windows系统。

登录时可能会出现如下一些错误:


  • 错误: 500 OPPS:could not read chroot() list file : /etc/vsftpd.chroot_list

错误原因: 在etc文件夹中没有vsftpd.chroot_list文件。

解决方法:在etc文件夹中创建一个名为vsftpd.chroot_list的文件(只需创建,不需要写内容):

sakuya@ubuntu:~$ cd /etc
sakuya@ubuntu:/etc$ sudo touch vsftpd.chroot_list

  • 错误: 500 OPPS:vsftpd : refusing to run with writable root inside chroot()

错误原因:chroot不可写。

解决方法:在配置文件/etc/vsftpd.conf中结尾加入一行:allow_writeable_chroot=YES

修改完后记得再重启服务器一次

我遇到的错误就这两处,然后再登录ftp服务器,就没有错误出现了,默认的FTP打开的目录为该用户下的/Home文件夹:

如果遇到了FTP服务器只能上传不能下载的问题,按上面的方法打开配置文件/etc/vsftpd.conf,找到:

#write_enable=YES
#local_umask=022

去掉前面的#即可



版权声明:本文为Sakuya__原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。