Zervan的小站 Zervan的小站
首页
  • 测评

    • 蓝牙耳机测评
  • 渗透

    • 网络渗透学习指南
  • 前端

    • 学习web开发
  • 版本控制与管理

    • Github入门与实践
  • 博客开发指南

    • 利用GitHub建立博客
  • 网文梗概-序
  • 我们的文学之路
  • 《世界观体系》
  • 《人物设定集》
  • 《诗集》
  • 《素材》
  • universe

    • 新冠疫情与外星人
  • human

    • 人的自由意志论
  • social

    • 科技的未来
  • school

    • 我们的大学
  • philosophy

    • 关于虚无主义
  • 日志
  • 支持我们
  • 友情链接
about
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Zervan

天下最普通的人之一
首页
  • 测评

    • 蓝牙耳机测评
  • 渗透

    • 网络渗透学习指南
  • 前端

    • 学习web开发
  • 版本控制与管理

    • Github入门与实践
  • 博客开发指南

    • 利用GitHub建立博客
  • 网文梗概-序
  • 我们的文学之路
  • 《世界观体系》
  • 《人物设定集》
  • 《诗集》
  • 《素材》
  • universe

    • 新冠疫情与外星人
  • human

    • 人的自由意志论
  • social

    • 科技的未来
  • school

    • 我们的大学
  • philosophy

    • 关于虚无主义
  • 日志
  • 支持我们
  • 友情链接
about
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 随笔

  • universe

  • human

  • social

  • school

  • philosophy

  • archive

    • 八佰
    • 罗曼蒂克消亡史
    • 传统文化止于独行盛于大众
    • 于复之
    • 至未来自己
    • 壹年
    • 万向计划
    • 《高考》
    • 新学期马上开始
    • MacBook Pro 16'' 使用体验
    • 为Ubuntu2004环境配置vsftpd
      • 背景
      • 准备工作
      • 工作流
    • 林嘉文传
    • 林嘉文遗言
    • 不知名网友日记
    • 创业宣言
    • 《穿裤子的云》
    • 观鹿山的戏楼
    • 心中无畏,星辰生花
    • 黄华溢随笔
    • 飞蛾
    • 撇捺人生
    • 受伤了酒精可以消毒
  • fun
  • archive
Zervan
2022-02-27

为Ubuntu2004环境配置vsftpd

# 什么是vsFTPd?

以下写为vsftpd

vsftpd是一款可运行在linux环境下的FTP服务器系统,全称为"very secure FTP daemon",意为“非常安全的FTP守护神”(微软翻译的别问我为什么......)。

# 背景

在将pilipala迁移到Ubuntu2004环境时,为方便部署和管理,我打算使用vsftpd作为FTP服务器,为此也踩了无数的坑(Ubuntu2004环境下的教程几乎没人写过),终于摸索出了一套比较可行的部署方法。   在迁移过程中,为货比三家,我先后试用或购买了阿里云、腾讯云、UCloud的服务器产品,发现了不同服务商之间的部署会有细微差别,这里不作一一概述。本教程将使用一套较为通用的工作流来教你如何完成这项工作。   在编写本文档时,Thaumy正在进行第四次vsftpd部署,所以本教程的所有内容均为Thaumy的实际工作流。

# 准备工作

配有Ubuntu2004操作系统的云服务器、可用的网络连接与十足的耐心。


# 工作流

登入服务器,进入CLI(命令行界面)。

为保证apt列表处于最新状态,我们首先更新一下apt:

sudo apt-get update sudo apt-get upgrade

下一步,安装vsftpd:

sudo apt-get install vsftpd

安装完成后,我们需要为Ubuntu创建一个新的用户,专门用来管理FTP:

sudo useradd ftp_user

我们刚刚创建了一个名为ftp_user的用户,现在为其设置密码:

sudo passwd ftp_user 系统将要求你输入两次密码,若多次输入不一致,则会停止密码设置流程。

img

如果看到以上画面,那么密码就设置成功了。

下面,我们设置用户ftp_user不得登入操作系统,以防止被黑客盗用而操作除FTP以外的内容:

sudo usermod -s /sbin/nologin ftp_user

接下来,我们需要指定一个物理位置作为FTP服务器根目录。在这之前,我们需要创建它:

sudo mkdir -p /home/ftp

为方便管理,我们后续会将根目录设置为只读。因此,还需要在/home/ftp下另建一个文件夹,用于存储FTP文件:

sudo mkdir -p /home/ftp/public 我们新建了一个文件夹public。

现在分别赋予这两个文件夹刚刚所述的相应权限:

Commandsudo chmod a-w /home/ftp
sudo chmod 777 -R /home/ftp/public

最后,设置用户ftp_user的登入目录为/home/ftp:

sudo usermod -d /home/ftp ftp_user


以上,我们安装了vsftpd并创建了一个用户用于管理FTP服务器的相应目录。接下来,我们需要设置vsftpd的配置文件,详细规定我们的FTP服务器需要按照哪些配置进行工作。


编辑配置文件:

sudo vi /etc/vsftpd.conf

在这里,我们使用vi作为文本编辑工具。对于如何使用vi/vim编辑文档,网上有很多非常不错的资源可供参考,这里将不作赘述(其实我也不怎么会)。

由于我们添加的配置和原有的配置有所冲突,所以我们需要先将原有的冲突配置注释掉。 这样做既保存了原有的默认配置,我们添加的配置也会生效。   为了醒目地标注冲突项,我们使8个井号(########)来将其注释掉,如下图橙色箭头标注所示:

img

接下来,我们在配置文件的末尾添加如下配置:

TEXT# 启用监听
listen=YES

# 不允许监听ipv6
listen_ipv6=NO

# 禁用匿名用户
anonymous_enable=NO

# 可写入
write_enable=YES

# 禁止切换根目录
chroot_local_user=YES

# 设置ftp根目录位置
local_root=/home/ftp

注意不要将原文档末尾的UTF-8设置项误删。保存退出。

由于我们设置用户ftp_user不允许登入操作系统,所以还需要更改相应的pam认证:

sudo vi /etc/pam.d/vsftpd 在编辑模式下,将文件末尾的pam_shells.so更改为pam_nologin.so


按照传统配置的点到为止,vsftpd的配置就结束了,但是Ubuntu2004他是个年轻人,他不讲武德,来,骗,来,偷袭,我这个刚接触Linux的小同志,这好吗?这不好......

事情还没完,Ubuntu2004缺少一个/etc/securetty文件。先不说这玩意是用来干甚么的,至少我们少了它,vsftpd是不能用的。如果你试图连接FTP服务器,将在vsftpd服务状态中看到以下错误:

img

这个坑居然没有一个中文博客提到,我在苦苦搜索中,终于在Stack Overflow (opens new window)上找到了相应的解决方案。据采纳回答,/etc/securetty文件的内容取自Ubuntu1910,下面我贴出其内容:

展开(这玩意是真他妈的长)

复制好上述内容,我们来造一个文件:

sudo vi /etc/securetty

将内容粘进去后保存,我们重启vsftpd:

sudo service vsftpd restart

查看vsftpd的状态:

sudo service vsftpd status

img

如果你看到了上图内容,那么说明vsftpd的配置应该是没有问题的,接下来让我们验收一下:

在此我使用工具FlashFXP登入我们刚刚部署的FTP服务器,具体配置如下:

img

用户名和密码均为上述设置项,地址填写云服务器的公网IP,FTP模式设置为主动模式(PORT),其他选项均为默认。

若成功连接到FTP服务器,你将看到根目录下有一个public文件夹,由于我们的权限设置,根目录下的内容为只读,但public的内部是读写自由的。

好了,现在您可以尽情地向您的FTP服务器里塞垃圾文件了233。

希望本文能对你有所帮助。

或者,节约几个小时?

本文章转自thaumy (opens new window)的“为Ubuntu2004环境配置vsftpd”

编辑 (opens new window)
上次更新: 2022/6/28 21:52:22
MacBook Pro 16'' 使用体验
林嘉文传

← MacBook Pro 16'' 使用体验 林嘉文传→

最近更新
01
修改nginx_conf部分配置
02-22
02
高学历宗教人士
12-04
03
理性思维
12-04
更多文章>
Zervan的小站 · VERSION: 1.0.128 · 基于vilivala构建 | pv と uv | Copyright © 2021-2023 | 鲁ICP备2021036977号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式