专栏首页程序员Linux下搭建FTP服务器

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 条评论
登录 后参与评论

相关文章

  • 文件传输协议——FTP

    FTP是在两个计算机之间传输文件的协议。一般有两种情形,一种是需要登录的FTP文件服务器,另外一种FTP服务器是匿名的,它允许任何人进行访问。

    zy010101
  • 数字图像处理中常见的变换核及其用途

    图像滤波,即在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,是图像预处理中不可缺少的操作,其处理效果的好坏将直接影响到后续图像处理和分析的有效性和可靠性...

    zy010101
  • Linux进程间通信——匿名管道

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

    zy010101
  • ​其他的几个应用层协议

    中文全称是文件传输协议,其实本质上来说,HTTP协议也属于文件传输协议,但两者有着巨大的差异。FTP描述的场景:

    naget
  • 你一直在用的 Spring Boot Starters 究竟是怎么回事

    Spring Boot 对比 Spring MVC 最大的优点就是使用简单,约定大于配置。不会像之前用 Spring MVC 的时候,时不时被 xml 配置文件...

    古时的风筝
  • 【研究】图像识别及应用

    1 图像识别是什么? 2 图像识别的应用场景有哪些? 什么是图像识别 图像识别,是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对像的技术。...

    陆勤_数据人网
  • 图像识别——突破与应用

    最近,图像识别领域发布了白皮书,简单翻译一下做个总结。 ---- 目录 [1] Introduction      1.1 Exponential Growt...

    echobingo
  • AI大神Hinton再次“逃离”美国,成就了虎视眈眈的加拿大

    李杉 李林 编译整理 量子位 出品 | 公众号 QbitAI 1987年,Geoffrey Hinton定居加拿大。 这位后来人们口中的“神经网络之父”毕业于英...

    量子位
  • docker学习(6) docker中搭建java服务及nginx反向代理

    上图中mysql容器的搭建见上篇博客,service1/2为java rest service,创建脚本如下:

    菩提树下的杨过
  • 2018 AI工程师校招薪酬出炉!

    用户1737318

扫码关注云+社区

领取腾讯云代金券