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
    +关注

    关注

    87

    文章

    11304

    浏览量

    209493
  • vsftpd
    +关注

    关注

    0

    文章

    3

    浏览量

    1730
收藏 人收藏

    评论

    相关推荐

    华秋 KiCad 发行版 8.0.7 发布

    “   华秋发行版的定位是为中国用户服务,解决一些因某种原因无法合并到主干但对中国用户来说非常重要的问题;同时通过预装一些插件,打通供应链、设计到制造的壁垒。8.0.7 版本xiany
    的头像 发表于 12-19 11:21 358次阅读
    华秋 KiCad <b class='flag-5'>发行版</b> 8.0.7 发布

    Ubuntu系统的虚拟机安装步骤 如何在Ubuntu系统编译软件

    updatesudo apt install virtualbox 2. 下载虚拟机镜像 你需要一个操作系统的ISO镜像文件来安装虚拟机。你可以从操作系统的官方网站下载ISO文件,例如Windows、Linux发行版等。
    的头像 发表于 12-12 14:36 279次阅读

    Ubuntu系统常见问题及解决方法

    连接到互联网 问题描述: 用户在安装Ubuntu后发现无法连接到互联网。 解决方法: 检查网络连接: 确保网线已正确插入或Wi-Fi已连接。 检查网络设置: 打开“
    的头像 发表于 12-12 14:32 305次阅读

    何在Windows中安装Ubuntu系统

    在Windows中安装Ubuntu系统通常有两种方法:使用虚拟机软件安装Ubuntu作为虚拟机,或者使用双启动安装
    的头像 发表于 12-12 14:29 337次阅读

    何在Linux系统设置站群服务器IP地址

    Linux系统设置站群服务器的IP地址,可以通过以下步骤进行,主机推荐小编为您整理发布如何在Linux系统
    的头像 发表于 12-11 10:05 167次阅读

    何在虚拟机上安装deepin系统

    如果你想在 Windows、macOS 或 Linux 发行版上体验 deepin 系统,但又不想冒险破坏现在的电脑系统环境,通过虚拟机来安装则是一个理想的选择。
    的头像 发表于 12-05 14:43 234次阅读
    如<b class='flag-5'>何在</b>虚拟机上<b class='flag-5'>安装</b>deepin系统

    RHEL即将成为微软WSL的官方Linux发行版

    WSL 运行任何 Linux 发行版,但作为官方发行版,WSL 用户将可以更容易通过wsl --list --online和wsl --install发现和安装 RHEL。 按照计划
    的头像 发表于 11-26 11:03 328次阅读

    linux操作系统安装步骤 linux操作系统的特点及组成

    ,确保你的计算机满足最低系统要求,并且你已经备份了所有重要数据。 2. 下载Linux发行版 访问Ubuntu官方网站或其他Linux发行版
    的头像 发表于 10-21 11:24 544次阅读

    如意香山笔记本软件适配工作稳步推进,成功运行多款Linux发行版及国产办公套件

    发展迅速,有望在今年底完成所有流行 Linux 发行版的适配工作。 如意香山笔记本快速的适配过程表明,国内在 RISC-V 软件生态已经积累了显著规模的开发者群体,在 Linux
    发表于 09-02 11:33

    树莓派装ubuntu和raspbian哪个更好

    和背景 Ubuntu是一个基于Debian的Linux发行版,由Canonical公司开发和维护。Ubuntu以其易用性、稳定性和社区支持而闻名,是许多
    的头像 发表于 08-30 15:41 1302次阅读

    基于ebian发行版的AvaotaOS下的dpkg和apt工具使用方法详解

    管理工具,用于在 Debian 和 UbuntuLinux 发行版安装、升级和删除软件包。以下是一些常用的 apt 命令和选项:
    发表于 07-03 14:59

    使用 PREEMPT_RT 在 Ubuntu 中构建实时 Linux 内核

    盟通威廉希尔官方网站 干货构建实时Linux内核简介盟通威廉希尔官方网站 干货Motrotech如果需要在Linux中实现实时计算性能,进而有效地将Linux转变为RTOS,那么大多数发行版都可以打上名为PREE
    的头像 发表于 04-12 08:36 2452次阅读
    使用 PREEMPT_RT 在 <b class='flag-5'>Ubuntu</b> 中构建实时 <b class='flag-5'>Linux</b> 内核

    让RK3562教你嵌入式开发!(三)

    Ubuntu的关系,那就好像是安卓和miui,flyme,氢os的关系差不多。Linux发行版本虽然众多,但是真正属于原始构建的Linux版本可不多,只有少数几个,
    的头像 发表于 04-04 08:31 724次阅读
    让RK3562教你嵌入式开发!(三)

    微软Linux发行版CBL-Mariner现正迁移至Azure Linux

    截至3月6日,微软于GitHub发布了该发行版的新版CBL-Mariner 2.0.20240301,同时更新了其页面地址,将其官方主页变更为Microsoft/AzureLinux。
    的头像 发表于 03-06 13:50 569次阅读

    Linux怎么配置NTP时间同步呢?

    。下面是一个详细的关于如何在Linux配置NTP时间同步的指南。 第一步:安装NTP服务器软件 在开始配置NTP之前,我们首先需要确保系统中已经
    的头像 发表于 01-16 16:03 2959次阅读