今天搞定在 Ubuntu 22.04 系统上安装和配置 VSFTPD ,还会涉及防火墙设置、SSL/TLS 设置,以及创建专门登录 FTP 服务器的账户。开始!
一、安装 VSFTPD
首先,咱得让系统知道有啥新软件包可以安装。打开终端,输入下面这行命令更新系统软件包列表:
sudo apt update
这就像是给系统的 “软件小仓库” 来个大扫除,让它知道最新都有啥可用。更新完,咱接着安装 VSFTPD,输入:
sudo apt install vsftpd
系统就会欢快地把 VSFTPD 安装到你的电脑里啦。
二、备份原始配置文件
在开始折腾 VSFTPD 的配置文件前,保险起见,先给原始文件做个备份。就像出门前给家里贵重物品拍个照留底一样,万一后面改错了还能恢复原样。在终端输入:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.backup
这样,原始配置文件就被复制了一份,妥妥的!
三、配置 VSFTPD
接下来,要用文本编辑器打开 VSFTPD 的配置文件。这里咱用nano,简单又好用。在终端输入:
sudo nano /etc/vsftpd.conf
(一)基本配置
1.咱得允许本地用户登录到 FTP 服务器,在配置文件里找到或者添加这一行:
local_enable=YES
这就好比给本地用户打开了 FTP 服务器的大门。
2. 还要允许用户上传文件呢,找到或添加:
write_enable=YES
这样用户就有了往服务器上传文件的 “钥匙”。
3. 给本地用户设置个默认的文件掩码,方便管理文件权限,添加:
local_umask=022
4.限制用户只能访问其主目录
为了安全,咱得让用户只能在自己的主目录里活动,在配置文件里添加:
chroot_local_user=YES
不过,为了让这个限制能正常工作,还得加上这一句:
allow_writeable_chroot=YES
(二)SSL/TLS 设置
1.先给服务器生成 SSL 证书,这可是给数据传输上了一把安全锁。在终端输入:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
按照提示输入一些信息,证书就生成好啦。另外,也要注意,如果您单独安装openssl,这时系统会自动生成响应证书,也就省却您的这步骤操作。
2. 接着回到配置文件,开启 SSL/TLS 功能。添加下面这些行:
ssl_enable=YES
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH
这下,数据在传输的时候就安全多啦。
四、创建仅能登录 FTP 服务器的账户
1.咱给 FTP 服务器创建一个专属用户,在终端输入:
sudo adduser ftpuser
按照提示设置好用户密码。
2. 给这个用户创建 FTP 目录,并且设置好权限,让用户能正常使用。输入:
sudo mkdir -p /home/ftpuser/ftp
sudo chown -R ftpuser:ftpuser /home/ftpuser/ftp
sudo chmod -R 755 /home/ftpuser/ftp
注意,有的ubuntu版本会在创建用户时,自动建立用户目录/home/ftpuser。
这样,用户就有了自己专属的 FTP 工作空间。
五、防火墙设置
咱得让防火墙允许 FTP 相关的端口通行,这里用ufw这个简单好用的防火墙工具。在终端依次输入:
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp
这就像是给 FTP 服务在防火墙上开了几个专用的 “小门”。最后,把防火墙启用起来:
sudo ufw enable
六、配置被动模式端口范围
在vsftpd.conf配置文件里,咱还要指定被动模式的端口范围,添加下面两行:
pasv_min_port=40000
pasv_max_port=50000
这样,服务器在被动模式下就能正常工作啦。
七、重启 VSFTPD 服务
所有配置都弄好之后,得让 VSFTPD 服务重新启动一下,才能让这些新设置生效。在终端输入:
sudo systemctl restart vsftpd
服务重启完成,新配置就开始发挥作用啦。
八、验证配置
现在,用一个 FTP 客户端,比如 FileZilla,来连接到 FTP 服务器。输入之前创建的ftpuser账户和密码,看看能不能顺利登录,能不能正常地上传和下载文件。如果一切顺利,那就说明咱的配置成功啦!
九、检查服务状态
最后,要是想看看 VSFTPD 服务是不是正常运行着,可以在终端输入:
sudo systemctl status vsftpd
从显示的信息里就能知道服务的状态啦。
好啦,小伙伴,到这里你就成功在 Ubuntu 22.04 上安装和配置好了 VSFTPD,是不是很有成就感?赶紧用起来吧!
十、配置自定义ftp端口
有时,处于安全考量或系统资源限制,不允许开发20、21端口,需要配置其它端口,方法如下:
在/etc/vsftpd.conf配置文件中,找到listen_port参数(如果没有就手动添加),比如将端口号设为 2121,添加或修改为:
listen_port=2121
另外,如果启用了 SSL/TLS,还需确保 SSL/TLS 相关端口也做了相应调整。例如原本 SSL/TLS 端口为 990,若整体调整端口,可将其修改为新的端口,如 9900(需与你的整体规划匹配) ,并在配置文件中修改:
ssl_port=9900
注意:有的FTPS客户端不支持自定义ssl_port端口,所以尽可能不要用此选项(不要用这条命令),系统会默认的用990端口作为ssl_port端口。