0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在Ubuntu Linux发行版上正确安装和设置 VSFTPD

454398 来源:网络整理 作者:网络整理 2019-12-12 09:18 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

步骤1:背景信息

为什么使用VSFTPD?

VSFTPD代表非常安全的FTP守护程序,所以我想这很明显,对吧?老实说,我无法验证它是否确实是目前最安全的FTP服务器,但是我可以告诉您的是它是轻量级的,具有非常低的功能,最重要的是没有问题。请注意,根据您的发行版和执行的安装类型,您很有可能已经拥有了它。在这种情况下,您显然不需要重新安装。

为什么使用Ubuntu?

从技术上讲,不是我的计算机上安装了Ubuntu,而是PepperMint。 PepperMint是Mint Linux的简化版,后者又基于Ubuntu。我选择Ubuntu的唯一原因是因为这是我过去使用过的并且我更加熟悉。如果您使用的是其他类型的Linux,那么按照此说明进行操作不会有任何问题。我将尝试突出显示您需要进行更改的所有部分。

先决条件

如果您已阅读本文,我认为您使用计算机的目的不只是Farm ville。显然需要有可用的Linux机器。如果您正在寻找基于Windows的解决方案,我会推荐FileZilla,它易于设置和维护。除此之外,您唯一需要的就是要使用的计算机上的Internet访问。您可以选择将FTP服务器设置为仅供内部使用,但在这种情况下,您将必须手动下载并安装所需的软件包。

免责声明

设置FTP服务器(出于安全考虑)仅允许匿名访问,只能下载。甚至系统管理员也不能在服务器上上传内容。应使用其他方法将内容放在FTP目录中。从理论上讲,我将在这里向您展示的内容会损害您系统的安全性,因为我将创建一个具有上传特权的用户。尽管我已经采取了额外的预防措施以使其尽可能安全,但是如果您对安全性抱有偏执,请不要遵循这些说明。

步骤2:安装

pIYBAF2LDSGAKKwOAAC7mOh-ADw988.jpg

Linux中的软件包含在我们称为软件包中。在这里,我将不做太多详细介绍,有无数的地方可以阅读。但是,如果有您不了解的地方或需要帮助的地方,请提出问题,我将尽力回答。

为此,您需要Internet访问。如果要设置仅在LAN中使用的计算机,则必须使用另一台可以访问,手动下载和安装软件包的计算机。

在终端(控制台-命令行)上,键入以下内容:

sudo apt-get install vsftpd

然后会要求您输入密码。输入它,它将连接到互联网并搜索您告诉它的包裹。一段时间后,它将告诉您确切打算安装什么,并等待确认。按下键盘上的 Y ,等待安装完成。

恭喜!您已经安装了VSFTPD。

如果您使用的是其他发行版,则可能需要调整以上命令。例如,在Gentoo Linux中,出现了apt-get等效项,在Suse中,您使用zypper命令,依此类推。由于sudo可能不存在,您可能会想知道如何在自己的发行版中以root特权执行命令。

步骤3:创建FTP用户。

pIYBAF2LDSeATeU4AABtxjvZ2Lk099.jpg

o4YBAF2LDLiAJS0oAABG-89Nnzs562.jpg

pIYBAF2LDTSAaHYnAABzOy_M_Wg701.jpg

我已经说过,FTP服务器的最安全配置是只允许匿名访问而没有写权限。我们将偏离这一点。我们将创建两个用户,一个只能下载,另一个可以充当管理员,即上载和下载特权。请注意,这些用户也将是系统用户。因此,我们必须采取一些额外的步骤,以使整个过程变得更加安全。

首先,您必须确定FTP文件夹的位置。我选择了/home/ftp。因此,在终端类型中:

sudo mkdir/home/ftp

现在,我们需要添加用户,但首先要确保唯一新用户可以登录到我们的FTP服务器。每当您创建一个新的Linux用户时,就为他分配一个将要使用的默认Shell。如果您不确定我在说什么,请花一点时间阅读有关Shell的内容。使用您喜欢的编辑器,打开/etc/shells文件并添加一个不存在的文件。我将我的命名为“ dummy”,如下图所示。

计划是添加两个FTP用户,一个FTP用户既具有写访问权,又具有读取访问权,而一个简单的用户只能下载文件。这样,如果要让您的朋友下载文件,则不必授予他对服务器的写访问权限。

在创建用户之前,必须创建一个用户所属的组。 。默认情况下,Linux创建一个与用户同名的用户组,但是我们不希望这样。因此,在终端类型中:

sudo groupadd ftp-users

现在我们可以添加用户:

sudo useradd --home/home/ftp --group ftp用户--shell/bin/dummy ftpadmin

sudo passwd ftpadmin 《为用户提供密码后,就完成了。对第二个用户重复相同的过程。我命名为ftpguest。您可以选择所需的任何名称。尝试使用您创建的任一新用户登录系统。如果您做对了所有事情,则应该无法登录。

我们快完成了。我们只需要向用户授予我们在上面创建的FTP目录的正确权限。首先,我们将目录的所有者从根目录更改为ftpadmin:

sudo chown -R ftpadmin/home/ftp

然后:

sudo chmod 755/home/ftp

这两个命令的结果是目录所有者(ftpadmin)将拥有对该目录及其中文件的完全访问权限而世界其他地区则只能读取访问权限。执行ls -l,您应该会看到类似第三张图片的画面(这也使我忘记了对ls命令:P的正确切换)。

您可以在此处阅读有关文件权限的更多信息。

步骤4:编辑配置文件

pIYBAF2LDUSAdhHRAADACbHUWr4537.jpg

与Windows不同,Linux没有注册表文件。就我个人而言,我认为这是一种祝福,因为没有诸如注册表太大之类的事情,这意味着您的系统变慢且不稳定。每个程序都有自己的包含配置选项的文件。在这一步中,我们将对VSFTPD的配置文件进行一些调整。

我认为这很明显,但是我必须指出,在开始使用它之前,我们需要首先进行复制,以防万一出了问题。 。如果您发现自己经常弄乱配置文件,那么创建一个目录来存储所有这些文件的备份并不是一个坏主意。假设此目录为/home/cfgbackup,请在终端中键入以下命令:

sudo cp/etc/vsftpd.conf/home/cfgbackup

现在,使用您喜欢的编辑器(您可能已经注意到,我更喜欢nano)打开vsftpd.conf。

令人难以置信的是,有许多设置可供您使用,我只会指出我所做的更改。

首先,请找到标有anonymous_enable的行,并确保其为 anonymous_enable = NO 。请注意,此处以#开头的行是注释,因此,删除#时,您可以激活这些行(这称为取消注释)。 br》找到显示local_enable的行,并将其更改为 local_enable = YES 。使用 write_enable 执行相同的操作。到目前为止,您已经禁止匿名用户访问服务器,并且仅允许系统用户登录。根据配置文件,每个用户都具有写权限,但是我们在上一步中已经处理了此权限,还记得吗?

下一步是将我们的FTP用户包含到其主目录中。此方法称为“ Root jail”,它使用chroot命令。检查下面的图片,并相应地更改您自己的文件。接下来的两行是我添加的,因此不要尝试在您自己的文件中找到它们(至少它们在我的文件中不存在)。添加它们以仅允许一部分用户登录到您的服务器。请注意,我们在此处声明了文件名:vsftpd.chroot_list,由于该文件不存在,我们现在必须创建该文件。创建它并添加您创建的两个用户,每个用户都在自己的行中。创建另一个名为vsftpd.user_list的文件,并在其中也添加这两个用户。这两个文件都应该在/etc目录中。

在终端中键入:

sudo服务vsftpd restart

新设置将生效您的新FTP服务器就可以使用了!

步骤5:结束语

o4YBAF2LDOOAM95qAAHVXQLe***4484.jpg

您已经成功设置了自己的FTP服务器。它具有尽可能高的安全性(当然要考虑我们的要求),它使您可以从世界任何地方传输文件,与朋友共享文件以及更接近可怕的Linux终端。

看到配置文件中有关chroot的“警告”的警告,让我告诉你,无论我多么努力地搜索,我发现的唯一内容是“如果有人知道他在做什么,他也许可以绕过它”,但是什么也没有更加具体。我已经告诉过您,我们将偏离建议的FTP安全性明智使用,因此这是我愿意承担的风险之一。

我在本指南中未涉及的唯一部分是如何访问您的服务器是来自外部的,但基本上是从路由器转发端口22(或在配置文件中选择的端口),如果没有静态IP地址,则可能会设置一个动态dns帐户。我敢肯定那里有很多关于如何执行此操作的教程,所以我在这里没有包含这样的说明。

责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    88

    文章

    11814

    浏览量

    219527
  • vsftpd
    +关注

    关注

    0

    文章

    3

    浏览量

    1953
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    华秋 KiCad 发行版 10.0.0 发布:初探 MCP

    “  华秋发行版的定位是为中国用户服务,解决一些因某种原因无法合并到主干但对中国用户来说非常重要的问题;同时测试一些前沿的功能,如 AI Copilot,AI Agent 等。   ” 华秋发行版
    的头像 发表于 04-01 11:19 966次阅读
    华秋 KiCad <b class='flag-5'>发行版</b> 10.0.0 发布:初探 MCP

    请问如何在 VisionFive 23.04 安装 Ubuntu 2?

    何在 VisionFive 23.04 安装 Ubuntu 2?
    发表于 03-11 06:30

    何在2026年Rocky Linux(8、9和10)安装Docker

    负载的强大平台。 本指南是一个统一的资源,解释如何在 Rocky Linux 8、9 和 10 安装 Docker,验证安装,配置 Doc
    的头像 发表于 01-12 17:21 1835次阅读

    华秋 KiCad 发行版 9.0.6 发布:云端库添加华秋库存、价格

    “  9.0.6 华秋发行版增加了对云端器件库供应链的支持,除了元器件的属性、模型外,还可以看到实时的价格、库存。9.0.6 修复了 9.0.5 大量 crash 的问题,建议升级。  ”   华秋
    的头像 发表于 11-04 11:12 4492次阅读
    华秋 KiCad <b class='flag-5'>发行版</b> 9.0.6 发布:云端库添加华秋库存、价格

    华秋 KiCad 发行版 9.0.5 发布:更多元器件库的选择

    “  9.0.5 华秋发行版集成了国创资源库,为工程提供了更多的选择。由于 9.0.5 存在一些  crash 的 Bug,大家可以自行考虑是否使用。9.0.6 也会在近期发布。  ”   华秋
    的头像 发表于 10-16 11:19 5w次阅读
    华秋 KiCad <b class='flag-5'>发行版</b> 9.0.5 发布:更多元器件库的选择

    ubuntu系统安装之Vmware虚拟机安装

    Linux操作系统有很多版本,我们选择使用的是ubuntu18.04发行版ubuntu是基于Debian派生的操作系统,兼容性极强,ubuntu
    发表于 09-22 16:27

    华秋 KiCad 发行版 9.0.4 发布:属于您自己的云端器件库及模块电路库

    “  本次更新增加了个人中心,让您可以维护自己的云端器件库及模块电路库。同时增加了 PCB/SMT 下单功能,让您可以在 KiCad 里直接下单并追踪订单的进度。  ”   华秋发行版概览 华秋
    的头像 发表于 08-28 19:11 1.3w次阅读
    华秋 KiCad <b class='flag-5'>发行版</b> 9.0.4 发布:属于您自己的云端器件库及模块电路库

    何在树莓派上安装Ubuntu MATE ?

    如果你对树莓派操作系统感到厌倦,又对庞大的Ubuntu环境不太感兴趣,那么UbuntuMATE或许值得一试,它适合桌面使用。UbuntuMATE基于Ubuntu,但使用的是更轻量级的MATE桌面环境
    的头像 发表于 08-12 18:56 3449次阅读
    如<b class='flag-5'>何在</b>树莓派上<b class='flag-5'>安装</b><b class='flag-5'>Ubuntu</b> MATE ?

    华秋KiCad发行版 9.0.3 发布:图片生成符号、封装

    “  本次更新优化了云端器件库的体验,支持云端模块电路的查看与调用。通过 Copilot 可以将图片直接生成原理图符号及封装。  ”   华秋发行版概览 华秋发行版是 开源 的 、非商业化的, 完全
    的头像 发表于 07-10 11:17 7111次阅读
    华秋KiCad<b class='flag-5'>发行版</b> 9.0.3 发布:图片生成符号、封装

    Linux发行版江湖探秘

    在当前信息技术高速发展的时代,开源操作系统凭借其开放、灵活和高可定制性,已成为各行各业的主流选择。而Linux作为全球最具代表性的开源内核,衍生出众多的发行版(Distribution),构成了一个
    的头像 发表于 06-06 16:56 899次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>发行版</b>江湖探秘

    全志T536 4核A55 ARM+RISC-V+NPU 17路UART 工业开发板—Linux开发环境搭建

    本章节安装的虚拟机软件VMware版本为16.2.5,主要提供在虚拟机上安装Linux发行版Ubuntu20.04.6的方法。
    的头像 发表于 06-05 14:57 2062次阅读
    全志T536 4核A55 ARM+RISC-V+NPU 17路UART 工业开发板—<b class='flag-5'>Linux</b>开发环境搭建

    何在Ubuntu 22.04安装NVIDIA显卡驱动

    Ubuntu 22.04 安装 NVIDIA 显卡驱动完整步骤
    的头像 发表于 05-20 11:00 5674次阅读

    华秋KiCad发行版 9.0.2发布:AI Copilot助力设计效率提升

    发行版概览 华秋发行版是 开源 的 、非商业化的, 完全遵循 GPL 3.0 协议,且 跟随 KiCad 最新的分支同步更新 。原则是 通用功能优先贡献给 KiCad 主干 ,主干无法合并的功能才添加到发行版中,一旦主干可以支持
    的头像 发表于 05-10 11:18 1.2w次阅读
    华秋KiCad<b class='flag-5'>发行版</b> 9.0.2发布:AI Copilot助力设计效率提升

    何在Ubuntu安装NVIDIA显卡驱动?

    作者:算力魔方创始人/英特尔创新大使刘力 一,前言 对于使用NVIDIA显卡的Ubuntu用户来说,正确安装显卡驱动是获得最佳图形性能的关键。与Windows系统不同,Linux系统通
    的头像 发表于 05-07 16:05 2867次阅读
    如<b class='flag-5'>何在</b><b class='flag-5'>Ubuntu</b><b class='flag-5'>上</b><b class='flag-5'>安装</b>NVIDIA显卡驱动?

    Debian和Ubuntu哪个好一些?

    Linux发行版世界中,Debian与Ubuntu长期占据服务器与开发者生态的核心地位。前者以稳定性和纯粹开源理念著称,后者则凭借易用性与商业友好性成为新手首选。本文将从技术特性、应用场景及生态
    的头像 发表于 05-07 10:58 1410次阅读