感谢 linuxconfig.org 上的这篇英文教程

FTP用于访问和传输本地网络上的文件,通过安装 VSFTPD 软件,打开热点,配置相关信息后即能够启动并运行FTP服务器了。

1. 安装和配置VSFTPD

在终端中输入指令以安装 VSFTPD

  1. $ sudo apt-get install vsftpd

2. 设置 FTP 用户账号

首先我们对原配置文件 vsftpd.conf 进行备份,避免待会的操作中出错。

  1. $ sudo mv /etc/vsftpd.conf /etc/vsftpd.conf_orig

接着,我们通过编辑器(这里用vi)打开原来的配置文件。

  1. $ sudo vi /etc/vsftpd.conf

将下面基本配置信息全部复制粘贴到刚打开的配置文件/etc/vsftpd.conf ,然后保存修改并关闭文件

  1. listen=NO
  2. listen_ipv6=YES
  3. anonymous_enable=NO
  4. local_enable=YES
  5. write_enable=YES
  6. local_umask=022
  7. dirmessage_enable=YES
  8. use_localtime=YES
  9. xferlog_enable=YES
  10. connect_from_port_20=YES
  11. chroot_local_user=YES
  12. secure_chroot_dir=/var/run/vsftpd/empty
  13. pam_service_name=vsftpd
  14. rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
  15. rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
  16. ssl_enable=NO
  17. pasv_enable=Yes
  18. pasv_min_port=10000
  19. pasv_max_port=10100
  20. allow_writeable_chroot=YES

由于Ubuntu的内置防火墙默认会阻止FTP的通信,我们通过下面的指令在UFW中新建个例外以允许通信。

  1. $ sudo ufw allow from any to any port 20,21,10000:10100 proto tcp

重新启动VSFTPD以应用新的更改。

  1. $ sudo systemctl restart vsftpd

3. 创建一个FTP用户

FTP服务器已经就就绪,可以接受传入的连接了。接下来就需要创建一个新的用户从而连接到FTP服务。

创建新用户 ftpuser的同时设置该用户的密码:

  1. $ sudo useradd -m ftpuser
  2. $ sudo passwd ftpuser

为了保证运行成功,需要在ftpuser的家目录中保存至少一个文件。

  1. $ sudo bash -c "echo FTP TESTING > /home/ftpuser/FTP-TEST"

当我们连接到该FTP服务器时,我们就能够看到这样的文件。

3. 连结FTP服务器

现在,你用手机开下热点,你的小伙伴通过连接你的热点,然后输入你那边的IP地址或者主机名即能连接到FTP服务器了。接下来介绍两种方法,任意种方法都能够成功连接。

3.1 使用命令行连接到FTP服务器

打开终端,使用Ubuntu的 ftp 命令来连接你的 loopback 地址(127.0.0.1)或者 你电脑上特有的IP地址。

loopback 是一个特殊的网络接口(理解为虚拟网卡),用于本机中各个应用间的网络交互。

如何查看你电脑上的IP地址?

  1. $ hostname -I
  2. #打印显示的左边那串数字即是你的Ipv4地址了
  1. $ ftp 127.0.0.1
  2. #或者 ftp 你的电脑IP地址

接下来,会显示Connected并让你输入账号名称与口令(就是第2步创建的账号ftpuser

由此连接成功!通过ls指令,就能查看该服务器中的文件或者创建目录了

3.2 通过GUI连接到FTP服务器

打开文件管理器,点击“其他位置”,在“连接到服务器”那一栏中输入 ftp://127.0.0.1(使用你的IP地址也可以),点击连接就会弹出窗口,输入你第二步创建的账号就能连接成功了。

成功连接后,就能看到直接所创建的文件了。

Linux 学习笔记05丨在Ubuntu 20.04配置FTP服务器的更多相关文章

  1. Ubuntu 14.04配置FTP服务器

    搭建: 1.sudo apt-get update                                        #更新软件 2.sudo apt-get install vsftpd ...

  2. Ubuntu 20.04 配置多网卡链路聚合

    Ubuntu 20.04 配置多网卡链路聚合 多网卡IP配置 首先查看网卡信息 root@it:~# ip add 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65 ...

  3. Linux 学习笔记01丨Ubuntu系统安装、配置及软件教程集合

    1. Ubuntu系统安装 Windows10安装ubuntu18.04双系统教程 Ubuntu 20.04.1 镜像下载 软碟通 机械革命进入BIOS模式 要按F2,注意将Boot Option中将 ...

  4. Ubuntu 14.04 配置FTP

    配置Ubuntu 14.04的FTP服务,通过Windows远程访问Ubuntu 14.04的同时,可以实现windows和Ubuntu之间的文件交换传输.在多用户环境下,每一个用户都可以通过自己的帐 ...

  5. Ubuntu 16.04 安装ftp服务器传输文件

    最近在搞深度学习,老师比较宝贝他的服务器,要求我以后负责管理服务器.往后所有要使用服务器的人都必须向我申请账号,然后只允许客户端访问,使用文件传输软件传输文件.像我这样一个linux菜逼,这种要求不是 ...

  6. PHP7 学习笔记(一)Ubuntu 16.04 编译安装Nginx-1.10.3、 PHP7.0.9、Redis3.0 扩展、Phalcon3.1 扩展、Swoole1.9.8 扩展、ssh2扩展(全程编译安装)

    ==================== PHP 7.0 编译安装================== wget http://cn2.php.net/get/php-7.0.9.tar.bz2/fr ...

  7. ubuntu 14.04 下FTP服务器的搭建--锁定用户目录,解决vsftpd: refusing to run with writable root inside chroot()

    FTP服务器的搭建,我要实现的需求是: 不允许匿名访问,因为我的机器不想让谁都能登录上来,随便获取文件, 需要锁定一个目录,因为在家里,我需要给媳妇下载一些电影 韩剧之类的东西,媳妇会来我机器下载,但 ...

  8. Ubuntu 14.04 下FTP服务器的搭建

    FTP服务器的搭建,我要实现的需求是: 不允许匿名访问,因为我的机器不想让谁都能登录上来,随便获取文件, 需要锁定一个目录,因为在家里,我需要给媳妇下载一些电影 韩剧之类的东西,媳妇会来我机器下载,但 ...

  9. 阿里云 Server (Ubuntu 12.04) 配置 FTP

    来自 http://blog.csdn.net/zgrjkflmkyc/article/details/45510345 这个是阿里云的官方用户手册  http://bbs.aliyun.com/re ...

随机推荐

  1. vue-cli axios ie9 问题

    vue在ie9中碰到的问题 最近我们的项目选择用vue来做开发,在这个过程我们还要兼容ie9这个坑,在这里我写一点我碰到的坑 开发选用:vue+vue-cli+axios+router+iview+m ...

  2. STM32入门系列-复位程序

    已经对启动文有了大致了解,再来看看系统在复位过程中做了哪些工作.复位程序如下: 1 ; Reset handler 2 3 Reset_Handler PROC 4 5 EXPORT Reset_Ha ...

  3. python socket 二进制

    问题 在工作中经常会用到socket传输数据,例如客户端给服务器发送数据(双方约定了数据格式),在交测之前,自己用python写个接受数据的server,解析下拼成的数据格式是否正确.用python写 ...

  4. 【QT】继承QRunnable+QThreadPool实现多线程

    往期链接: <QThread源码浅析> <子类化QThread实现多线程> <子类化QObject+moveToThread实现多线程> 本文章实例的源码地址:ht ...

  5. ci框架根据配置自动生成controller控制器和model控制器(改版本)

    CI修改如下: if($modle_file=config_item('modle_file')) { if ($modle_file === TRUE) { $modle_file=config_i ...

  6. Docker 实战(2)- 配置 Jenkins 容器上的持续集成环境

    如果你还想从头学起 Docker,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1870863.html 搭建 Jenkins 容器 就是 ...

  7. js常用的遍历方法以及flter,map方法

    1.首先明确vue主要操作数据.他并不提倡操作dom. 数组的变异:能改变原数组. *** 先来复习下便利==遍历一个数组的四种方法: <script> let arr = [1, 2, ...

  8. LOJ #6029. 「雅礼集训 2017 Day1」市场 线段树维护区间除法

    题目描述 从前有一个贸易市场,在一位执政官到来之前都是非常繁荣的,自从他来了之后,发布了一系列奇怪的政令,导致贸易市场的衰落. 有 \(n\) 个商贩,从\(0 \sim n - 1\) 编号,每个商 ...

  9. 【日拱一卒】链表——如何实现lru

    LRU Redis的内存淘汰机制好几种,如ttl.random.lru. lru(less recently used)即最近最少使用策略,表示在最近一段时间内最少被使用到的Redis键,如果遇到内存 ...

  10. [MIT6.006] 5. Binary Search Trees, BST Sort 二分搜索树,BST排序

    第5节课主要讲述了二分搜索树概念和BST排序.讲师提出一个关于"跑道预订系统"的问题,假设飞机场只有一个跑道,飞机需要为未来降落时间t进行预订,如果时间集合R中,在t时间前后k分钟 ...