Linux下搭建FTP服务器

版权声明:本文为博主原创文章,转载请注明博客地址: https://blog.csdn.net/zy010101/article/details/90723733

FTP服务器:它的英文全名是:“File Transfer Protocol Server”。就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。

在Linux下有非常多的FTP服务器可供选择,此处选择vsftpd服务器。它是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。首先,需要安装vsftpd服务器。安装命令如下。

sudo apt-get install vsftpd

安装好vsftpd以后,需要去配置服务器。配置文件就在etc目录下(该目录包含系统和应用软件的配置文件)。我们进入etc目录以后使用find命令先查找一下,看看有没有配置文件。

确定有这个文件,然后打开该文件,并修改它。如果配置文件中,没有打开监听,首先打开监听。

然后根据你自己的所需要的内容来配置你的FTP服务器。我的配置大概如下所示。

配置完成以后,保存你的配置(需要管理员权限), 然后重启vsftpd服务。重启命令如下

当我们安装了vsftpd之后,其实服务器端和客户端都被安装好了。不需要专门的客户端是可以的。

现在实名登录FTP服务器,使用命令如下

ftp IP地址

在我的Ubuntu下出现了拒绝服务的错误。ftp: connect: connection refused

问题的原因是vsftpd.conf配置文件中有监听ipv6地址,将其改为:listen_ipv6=NO或者直接注释掉,都可以。然后重启vsftpd服务。登录FTP服务器就成功了。

输入用户名和密码进行登录。

当使用zy这个用户登录以后,你就直接在zy的家目录下。

  1. 上传文件 上传文件的命令是put 文件(注意文件路径)。
  1. 下载文件 下载文件的命令是get 文件

FTP服务器只能上传,下载文件。不允许对目录进行操作。多个文件的时候,只能进行打包,变成一个文件。当你需要退出FTP登录的时候,可以输入命令bye,quit,exit都可以。

实名登录的时候,需要账户和密码,这很危险,并且用户还能在各个目录之间进行切换以及操作。这很不好。并且暴露账户和密码以后,它甚至能通过SSH来远程操作你的电脑。

匿名用户登录FTP服务器

匿名用户登录FTP的时候,不需要密码,并且匿名用户只能在登录进去的目录下进行操作。修改vsftpd.conf配置文件,加入对匿名用户可操作目录的限制。例如在配置文件中加入下面这行,指定/home/zy/myftp为目录

anon_root=/home/zy/myftp

修改完成后,重启FTP服务。然后登录FTP服务器。

注意,匿名用户的用户名是anonymous,没有密码,直接回车。可以看到成功登录FTP。

匿名用户上传文件的时候需要服务器修改设置的目录权限是所有人都可以写。否则匿名用户无法上传文件。只能下载文件。

可以看到上传失败,然后在FTP服务器修改目录权限。

可以看到上传就成功了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券