免费ftp服务器(ftp上传文件到服务器)-pg电子平台

ftp(文件传输协议)是用于在远程网络之间传输文件的标准网络协议。

有许多开源ftp服务器可用于linux。最受欢迎和广泛使用的是pureftpd、proftpd和vsftpd。在本教程中,我们将安装vsftpd(非常安全的ftp守护进程)。这是一个稳定,安全和快速的ftp服务器。我们还将向您展示如何配置vsftpd,以将用户限制在他们的主目录中,并使用ssl/tls加密整个传输。

虽然本教程是为ubuntu 18.04编写的,但同样的说明也适用于ubuntu 16.04和任何基于debian的发行版,包括debian、linux mint和elementary os。

为了更安全、更快速地传输数据,请使用scp或sftp。

在继续本教程之前,请确保您以拥有sudo权限的用户身份登录。

vsftpd包可以在ubuntu repository中获得。要安装它,只需运行以下命令:

sudo apt更新

sudo安装vsftpd

如何在 ubuntu 18.04 上使用 vsftpd 设置 ftp 服务器

vsftpd服务将在安装过程完成后自动启动。通过打印来验证服务状态:

执行命令:sudo systemctl status vsftpd

如何在 ubuntu 18.04 上使用 vsftpd 设置 ftp 服务器

输出如下,表明vsftpd服务处于活动状态并且正在运行:

如何在 ubuntu 18.04 上使用 vsftpd 设置 ftp 服务器

您可以通过编辑/etc/vsftpd.conf文件来配置vsftpd服务器。大多数设置都详细记录在配置文件中。有关所有可用选项,请访问vsftpd官方页面。

在下面几节中,我们将介绍一些配置安全vsftpd安装所需的重要设置。

首先,打开vsftpd配置文件:

如何在 ubuntu 18.04 上使用 vsftpd 设置 ftp 服务器

我们将只允许本地用户访问ftp服务器,找到anonymous_enable和local_enable指令,并验证您的配置是否与以下行匹配:

匿名_启用=否

local _ enable =是

如何在 ubuntu 18.04 上使用 vsftpd 设置 ftp 服务器

取消对write_enable设置的注释,以允许对文件系统进行更改,例如上载和删除文件。

write _ enable =是

如何在 ubuntu 18.04 上使用 vsftpd 设置 ftp 服务器

要防止ftp用户访问其主目录之外的任何文件,请取消对此chroot设置的注释。

chroot _ local _ user =是

如何在 ubuntu 18.04 上使用 vsftpd 设置 ftp 服务器

默认情况下,为防止安全漏洞,在启用chroot时,如果用户的锁定目录是可写的,vsftpd将拒绝上传文件。

启用chroot后,使用以下方法之一来允许上传。

1.-允许上传的建议方式是保持chroot启用并配置ftp目录。在本教程中,我们将在用户的主目录中创建一个ftp目录,作为chroot和uploads上传文件的可写目录。

用户子令牌= $用户

local_root=/home/$user/ftp

如何在 ubuntu 18.04 上使用 vsftpd 设置 ftp 服务器

2.-另一个选项是将以下指令添加到vsftpd配置文件中。如果您必须授予用户对其主目录的可写访问权限,请使用此选项。

allow _ writeable _ chroot =是

如何在 ubuntu 18.04 上使用 vsftpd 设置 ftp 服务器

vsftpd可以使用任何端口进行被动ftp连接。我们将指定端口的最小和最大范围,然后在我们的防火墙中打开该范围。

将以下行添加到配置文件中:

pasv_min_port=30000

pasv_max_port=31000

如何在 ubuntu 18.04 上使用 vsftpd 设置 ftp 服务器

要仅允许部分用户登录ftp服务器,请在文件末尾添加以下行:

用户列表_启用=是

userlist _ file =/etc/vsftpd . user _ list

用户列表_拒绝=否

如何在 ubuntu 18.04 上使用 vsftpd 设置 ftp 服务器

启用此选项后,您需要通过将用户名添加到文件中来明确指定哪些用户可以登录到/etc/vsftpd.user_list(每行一个用户)。

为了使用ssl/tls加密ftp传输,您需要有一个ssl证书并配置ftp服务器来使用它。

您可以使用由可信证书颁发机构签名的现有ssl证书,也可以创建自签名证书。

如果你有一个指向ftp服务器ip地址的域或子域,你可以很容易地生成一个免费的let & # 39加密ssl证书。

我们将使用这个命令来生成一个自签名的ssl证书。心脏出血

以下命令将创建有效期为10年的2048位私钥和自签名证书。私钥和证书将保存在同一个文件中:

sudo openssl req-x509-nodes-days 3650-new key rsa:2048-keyut/etc/ssl/private/vsftpd . pem-out/etc/ssl/private/vsftpd . pem

如何在 ubuntu 18.04 上使用 vsftpd 设置 ftp 服务器

如何在 ubuntu 18.04 上使用 vsftpd 设置 ftp 服务器

创建ssl证书后,打开vsftpd配置文件:

sudo nano /etc/vsftpd.conf

如何在 ubuntu 18.04 上使用 vsftpd 设置 ftp 服务器

找到rsa _ cert _和rsa _ private _ key _ file指令,将它们的值更改为pam文件路径,并将ssl_enable指令设置为yes:

rsa _ cert _ file =/etc/ssl/private/vsftpd . pem

rsa _ private _ key _ file =/etc/ssl/private/vsftpd . pem

ssl _ enable =是

如何在 ubuntu 18.04 上使用 vsftpd 设置 ftp 服务器

除非另有说明,ftp服务器将只使用tls来建立安全连接。

编辑后,vsftpd配置文件(不包括注释)应该如下所示:

听=不

listen _ ipv6 =是

匿名_启用=否

local _ enable =是

write _ enable =是

dirmessage _ enable =是

use _ localtime =是

xferlog _ enable =是

connect _ from _ port _ 20 =是

chroot _ local _ user =是

secure _ ch root _ dir =/var/run/vsftpd/empty

pam_service_name=vsftpd

rsa _ cert _ file =/etc/ssl/private/vsftpd . pem

rsa _ private _ key _ file =/etc/ssl/private/vsftpd . pem

ssl _ enable =是

用户子令牌= $用户

local_root=/home/$user/ftp

pasv_min_port=30000

pasv_max_port=31000

用户列表_启用=是

userlist _ file =/etc/vsftpd . user _ list

用户列表_拒绝=否

如何在 ubuntu 18.04 上使用 vsftpd 设置 ftp 服务器

保存文件并重新启动vsftpd服务,以使更改生效:

执行命令:sudo systemctl restart vsftpd

如何在 ubuntu 18.04 上使用 vsftpd 设置 ftp 服务器

如果您运行的是ufw防火墙,您需要允许ftp流量。

要打开端口21(ftp命令端口)、端口20(ftp数据端口)和30000-31000(被动端口范围),请运行以下命令:

sudo ufw允许20:21/tcp

sudo ufw允许30000:31000/tcp

如何在 ubuntu 18.04 上使用 vsftpd 设置 ftp 服务器

为避免被锁定,请打开端口22:

如何在 ubuntu 18.04 上使用 vsftpd 设置 ftp 服务器

通过禁用并重新启用ufw来重新加载ufw规则:

sudo ufw禁用

sudo ufw使能

如何在 ubuntu 18.04 上使用 vsftpd 设置 ftp 服务器

要验证变更运行,请执行以下操作:

sudo ufw状态

如何在 ubuntu 18.04 上使用 vsftpd 设置 ftp 服务器

为了测试我们的ftp服务器,我们将创建一个新用户。

如果您已经有一个用户授予ftp访问权限,请跳过第一步。

如果在配置文件中设置allow _ writable _ chroot = yes,请跳过步骤3。

6.1创建一个名为newftpuser的新用户:

执行命令:sudo adduser newftpuser

如何在 ubuntu 18.04 上使用 vsftpd 设置 ftp 服务器

6.2将用户添加到允许的ftp用户列表中:

执行命令:echo & # 34newftpuser & # 34| sudo tee-a/etc/vsftpd . user _ list

如何在 ubuntu 18.04 上使用 vsftpd 设置 ftp 服务器

6.3创建ftp目录树并设置正确的权限:

执行命令1:sudo mkdir-p/home/newftpuser/ftp/upload

执行命令2:sudo chmod 550/home/newftpuser/ftp

执行命令3:sudo chmod 750/home/newftpuser/ftp/upload

执行命令4:sudo chown-r new ftp user:/home/new ftp user/ftp

如何在 ubuntu 18.04 上使用 vsftpd 设置 ftp 服务器

如前所述,用户可以将他们的文件上传到ftp/upload目录。

此时,您的ftp服务器功能齐全,您应该能够使用任何可以配置为使用tls加密的ftp客户端(例如filezilla)连接到您的服务器。

默认情况下,创建用户时,如果没有明确指定,用户将拥有对服务器的ssh访问权限。

为了禁用shell访问,我们将创建一个新的shell,它将简单地打印一条消息,告诉用户他们的帐户仅限于ftp访问。

创建/bin/ftponly shell并使其可执行:

执行命令1:1:echo-e & # 39;#!/bin/sh \ necho & # 34;此帐户仅限于ftp访问。"'| sudo tee -a /bin/ftponly

执行命令2: sudo chmod a x/bin/ftpony

如何在 ubuntu 18.04 上使用 vsftpd 设置 ftp 服务器

将新shell附加到/etc/shell文件中的有效shell列表中:

执行命令:echo & # 34/bin/ftp only & # 34;sudo tee-a/etc/shell

如何在 ubuntu 18.04 上使用 vsftpd 设置 ftp 服务器

将用户shell更改为/bin/ftpony:

执行命令:sudo usermod new ftpuser-s/bin/ft pony

如何在 ubuntu 18.04 上使用 vsftpd 设置 ftp 服务器

使用相同的命令更改您只想授予ftp访问权限的所有用户的外壳。

在本教程中,您学习了如何在ubuntu 18.04系统上安装和配置安全快速的ftp服务器。

如果您有任何问题或反馈,请随时评论。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文链接:https://www.andon8.com/38524.html

网站地图