主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
本文主要讲述在Ubuntu 20.04系统中安装VSFTPD和配置FTP文件服务器的相关教程,以及如何安装和配置FTP服务器,以便在Ubuntu 20.04上的设备之间共享文件。
FTP(文件传输协议)是用于通过远程网络传输文件的标准网络协议。有几个开源FTP服务器可用于Linux。最著名也是应用最广泛的是PureFTPd、ProFTPD和VSFTPD。我们将安装VSFTPD(非常安全的FTP守护程序),这是一个稳定,安全,快速的Ftp服务器。我们还将向您展示如何配置服务器来限制用户对其主目录的访问,以及如何使用SSL/TLS加密整个传输。尽管FTP是一种非常流行的协议,但为了更安全、更快速地传输数据,应该使用SCP或SFTP。
首先,在Ubuntu 20.04上安装vsftpd。
vsftpd包可以在Ubuntu存储库中获得。要安装它,请执行以下命令:
sudo apt update sudo apt install vsftpd安装过程完成后,ftp服务会自动启动。要验证它,请检查状态。
Sudo systemctl status vsftpd输出应显示vsftpd服务处于活动状态并正在运行:
vsftpd . service -vsftpd FTP server Loaded:Loaded(/lib/systemd/system/vsftpd . service;已启用;厂商预置:已启用)活跃:活跃(正在运行)自周二2021-09-30 18:11:21 UTC;3s前...其次,配置vsftpd。
vsftpd服务器配置存储在/etc/vsftpd.conf文件中。大多数服务器设置都在文件中有很好的记录。有关所有可用选项,请访问vsftpd文档页面。在下面几节中,我们将介绍一些配置安全vsftpd安装所需的重要设置。
首先打开vsftpd配置文件:
Sudono/etc/vsftpd.conf1,FTP访问权限
我们将只允许本地用户访问FTP服务器。搜索anonymous_enable和local_enable命令,验证您的配置是否与以下行匹配:
anonymous _ enable = no local _ enable = yes配置如上。
2.允许上传
将write_enable命令的注释设置为允许文件系统更改,例如上载和删除文件:
Write_enable=YES3。配置Chroot jail。
为了防止本地FTP用户访问主目录之外的文件,请取消以chroot_local_user开头的注释:
Chroot_local_user=YES出于安全考虑,默认情况下,当Chroot开启时,如果用户锁定的目录是可写的,vsftpd会拒绝上传文件。
使用以下解决方案之一,在允许上传时启用chroot:
推荐的选项是启用chroot特性并配置FTP目录。在本例中,我们将在用户家中创建一个ftp目录作为chroot,并创建一个可写的上传目录用于上传文件:
user _ sub _ token = $ user local _ root =/home/$ user/FTP 4。设置被动FTP连接。
pasv _ min _ port = 30000 pasv _ max _ port = 31000我们可以使用任何端口进行被动FTP连接。启用被动模式时,FTP客户端将在您选择的范围内的任何端口上打开与服务器的连接。
5.受限用户访问
userlist _ enable = yes userlist _ file =/etc/vsftpd。User_listuserlist _ deny = no启用此选项时,需要通过在/etc/vsftpd中添加用户名来明确指定哪些用户可以登录user _ list文件(每行一个用户)。会议文件。
6.使用SSL/TLS保护传输。
要使用SSL/TLS加密FTP传输,我们需要有一个SSL证书并配置FTP服务器来使用它。我们可以使用由可信证书颁发机构签名的现有SSL证书,或者创建自签名证书。
我们将生成一个2048位的私钥和一个有效期为10年的自签名SSL证书。
sudo OpenSSL req -X509 -Nodes -Days 3650 -新密钥RSA:2048 -Keyout/etc/SSL/private/vsftpd . PEM -out/etc/SSL/private/vsftpd . PEM私钥和证书将保存在同一个文件中。创建SSL证书后,打开vsftpd配置文件:
Sudono/etc/vsftpd.conf找到rsa_cert_file和rsa_private_key_file指令,将它们的值更改为pam文件路径,并将ssl_enable指令设置为YES:
RSA _ cert _ file =/etc/SSL/private/vsftpd . pemsa _ private _ key _ file =/etc/SSL/private/vsftpd . PEM SSL _ enable = yes如果未指定,FTP服务器将仅使用TLS进行安全连接。
7.重新启动vsftpd服务
这些都是配置。
listen = no listen _ IPv6 = yes anonymous _ enable = no local _ enable = yes write _ enable = yes dir message _ enable = yes use _ local time = yes xferlog _ enable = yes connect _ from _ port _ 20 = yes schroot _ local _ USER = yes secure _ ch root _ dir =/var/run/vsftpd/emptypam _ service _ name = vsftpdrsa _ cert _ file =/etc/SSL/private/vsftpd . PEM RSA _ private _ key _ file =/etc/SSL/private/vs
sudo system CTL restart vsftpd restart生效。
第三,打开防火墙。
如果我们的服务器有防火墙,我们需要打开端口。
sudou UFWALLOW 20:21/tcpudo UFWALLOW 30000:31000/TCP为避免被锁定,请确保22号端口打开。
Sudo ufw允许OpenSSH通过禁用和重新启用ufw来重新加载UFW规则。
Sudo ufw disablesudo ufw enable第四,创建FTP用户。
为了测试FTP服务器,我们将创建一个新用户。如果需要被授予FTP访问权限的用户已经存在,请跳过第一步。如果在配置文件中设置allow _ writable _ chroot = yes,请跳过第三步。
1.创建一个新用户newftpuser。
Sudo adduser newftpuser2。将用户添加到允许的FTP用户列表中。
echo " new ftpuser " | sudo te-a/etc/vsftpd . user _ list 3。创建一个FTP目录并设置正确的权限。
sudo mkdir -p/home/newftpuser/FTP/uploadsudo chmod 550/home/newftpuser/FTP sudo chmod 750/home/newftpuser/FTP/uploadsudo chown -r newftpuser:/home/newftpuser/FTP第五,禁用Shell访问。
回声-e '#!/bin/sh \ necho "此帐户仅限于FTP访问。| sudo te-a/bin/FTP only sudochmoda+x/bin/FTP only默认情况下,创建用户时,如果没有明确指定,用户将拥有对服务器的SSH访问权限。要禁用shell访问,请创建一个新的shell,该shell将打印一条消息,告诉用户他们的帐户仅限于FTP访问。
将新shell添加到/etc/shell文件中的有效shell列表中:
echo "/bin/ftpony " | sudo te-a/etc/shell将shell用户更改为/bin/ft pony:
sudo usermod new ftpuser -s/bin/ft pony我们可以使用相同的命令来更改所有用户的外壳,您只希望授予FTP访问权限。
这样,我们就完成了在服务器中配置VSFTPD和创建FTP用户的工作。
这几篇文章你可能也喜欢:
- 暂无相关推荐文章
本文由主机参考刊发,转载请注明:Ubuntu 20.04系统中安装VSFTPD和配置FTP文件服务器的教程 https://zhujicankao.com/91269.html
评论前必须登录!
注册