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
去掉前面的#即可
【版权与免责声明】如发现内容存在版权问题,烦请提供相关信息发邮件至 lnkj@3173.top ,我们将及时沟通与处理。 本站内容除了3117站长服务平台( www.3117.cn )原创外,其它均为网友转载内容,涉及言论、版权与本站无关。