什么是 FTP 服务器?
FTP(文件传输协议)是用于从服务器上传(设置)或下载(检索)文件的系统。在检索文件或将图像上传到 Web 时,您之前可能在不知不觉中使用了它。或者您可能已经使用 FTP 客户端直接连接到 FTP 文件服务器。
为此,必须在远程文件主机上安装 FTP 服务器软件。
无论您是构建 Linux 家庭服务器、Web 服务器、游戏服务器还是任何适合您项目的服务器,FTP 都是将数据从一个系统传输到另一个系统的最简单方法。
在 Ubuntu 上安装服务器
在 Ubuntu 上安装 FTP 服务器非常简单。最好的方法可能是 vsftpd。按照以下步骤使用 vsftpd 在 Ubuntu 上安装和配置 FTP 服务器。
1.安装 Vsftpd
您的机器上可能已经安装了 vsftpd。要测试它,请打开命令行窗口并键入:
sudo apt list--installed
Vsftpd 可能位于列表底部附近。如果您还没有安装,只需安装:
sudo apt install vsftpd
一旦安装,就可以开始配置 vsftpd。让我们从制作原始配置文件的副本开始。如果出现问题或错误,可以恢复默认配置。
sudo cp/etc/vsftpd.conf/etc/vsftpd.conf_default
完成后,使用以下命令启动它:
sudo systemctl start vsftpd
确认服务器正在运行:
sudo systemctl enable vsftpd
安装 vsftpd 后,您可以开始设置。
2.创建FTP用户
首先您需要一个 FTP 用户帐户。有了这个账号,你就可以使用任何FTP客户端通过vsftpd访问服务器上存储的文件。在终端输入:
sudo useradd –m 用户名
设置用户名和密码后,在您帐户的主目录中创建一个测试文件以确认其有效:
sudo 密码用户名
当您第一次连接到您的 FTP Ubuntu 服务器时,您将看到 testfile.txt。
cd/home/username sudo nano testfile.txt
3.安全的 Ubuntu FTP 服务器
但是,在设置连接之前,您需要确保 FTP 端口在 Ubuntu 中是打开的。默认情况下,出于安全原因,它们在 ufw(简单防火墙)中是关闭的。
要允许通过端口 20 访问,请使用:
sudo ufw 允许 20/tcp
如果您的发行版使用不同的防火墙或安装了替代防火墙,请查看文档以了解开放端口。
供用户上传和安装配置文件中的文件:
sudo nano/etc/vsftpd.conf
查找 write_enabled 并取消注释条目,确保将其设置为“YES”:
write_enable=YES
按Ctrl + X退出,按Y保存。
对于可公开访问的 FTP 服务器,您需要限制每个用户的访问权限。 chroot 可以限制每个用户在其主目录中。在 vsftpd.conf 中,找到并取消注释这一行(取消注释 #):
chroot_local_user=YES
按Ctrl + X退出,Y保存。
对于许多用户来说,创建列表是一个明智的选择。
首先,在文本编辑器中打开 vsftpd.chroot_list。
sudo nano/etc/vsftpd.chroot_list
在这里,列出您要限制在他们自己的文件夹中的用户名。保存并退出,然后返回到 vsftpd.conf 并确保 chroot_local_user= YES 取消注释:
#chroot_local_user=YES
相反,取消注释:
chroot_list_enable=YES
和
chroot_list_file=/etc/vsftpd.chroot_list
结果如下:
继续,保存并退出。最后重启FTP服务:
sudo systemctl restart vsftpd.service
最后,使用 hostname 命令检查您的 Ubuntu 服务器的名称。然后,您可以使用它连接到 FTP 服务器。如果您更喜欢使用 IP 地址,请输入命令 ip address 并记下它。
4.连接加密上:FTP + SSL= FTPS
您还可以使用 SSL/TLS 强制加密进出 FTP Ubuntu 服务器的流量。
在 vsftpd.conf 文件中查找“SSL 加密连接”并添加以下信息:
ssl_enable=YES rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key代码>
保存并退出文件。 现在您可以在您的 FTP 客户端中指定 FTPS 作为连接协议。
评论