在 Ubuntu Server 上部署 FTP 服务

在 Ubuntu Server 上部署 FTP 服务

周二 7月 09 2024
390 字 · 2 分钟
未分配分类 未分配标签

本文介绍如何在 Ubuntu Server 上安装并配置 vsftpd,实现一个带用户访问控制的安全 FTP 服务。

1. 安装 vsftpd

Terminal window
sudo apt install vsftpd

2. 确认服务运行状态

Terminal window
sudo systemctl status vsftpd.service

执行后若看到如下输出,说明服务已成功启动:

Active: active (running)

3. 配置 vsftpd

打开配置文件:

Terminal window
sudo nano /etc/vsftpd.conf

按需启用以下配置项(取消对应行的注释或直接添加):

允许 FTP 写入操作

write_enable=YES

限制用户只能访问自己的目录

chroot_local_user=YES

⚠️ 启用 chroot 前请评估安全风险,详见 vsftpd 官方 FAQ。

设置用户根目录

user_sub_token=$USER
local_root=/home/$USER/ftp

配置用户访问白名单

userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO

设置文件创建权限掩码

# 默认 umask 为 077,推荐改为 022 以兼容多数 FTP 客户端
local_umask=022

参考:umask 权限详解

4. 创建 FTP 专用用户

Terminal window
sudo adduser <ftp-username>

5. 创建并配置 FTP 目录

Terminal window
# 创建目录
sudo mkdir <ftp-directory>
# 将目录所有权转移给 FTP 用户
sudo chown <ftp-username> <ftp-directory>

用户与目录管理常用命令

用途命令
查看当前用户所在组groups
查看指定用户的用户组groups <username>
将用户从某个组中移除deluser <username> <groupname>
更改目录所属组chgrp <groupname> <directory>

6. 使用客户端连接

完成以上步骤后,即可使用 FTP 客户端(如 FileZilla)连接服务器。

🔒 注意:当前配置使用明文 FTP,客户端可能提示”不安全连接”。如需加密传输,建议进一步配置 FTPS(FTP over TLS)或改用 SFTP。


Thanks for reading!

在 Ubuntu Server 上部署 FTP 服务

周二 7月 09 2024
390 字 · 2 分钟
未分配分类 未分配标签

© bayview | CC BY-NC-SA 4.0