云的博客 logo 云的博客

知识分享 经验总结 技术前沿

  1. Home
  2. Posts
  3. 在 Ubuntu Server 上部署 FTP 服务

在 Ubuntu Server 上部署 FTP 服务

Jul 9, 2024 bayview

gpt-image-1.5_A_person_sitting_in_front_of_a_computer_operating_it.On_the_ground_in_front_of-0.jpg

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

1. 安装 vsftpd

sudo apt install vsftpd

2. 确认服务运行状态

sudo systemctl status vsftpd.service

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

Active: active (running)

3. 配置 vsftpd

打开配置文件:

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 专用用户

sudo adduser <ftp-username>

5. 创建并配置 FTP 目录

# 创建目录
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。

Table of Contents

  • 1. 安装 vsftpd
  • 2. 确认服务运行状态
  • 3. 配置 vsftpd
    • 允许 FTP 写入操作
    • 限制用户只能访问自己的目录
    • 设置用户根目录
    • 配置用户访问白名单
    • 设置文件创建权限掩码
  • 4. 创建 FTP 专用用户
  • 5. 创建并配置 FTP 目录
    • 用户与目录管理常用命令
  • 6. 使用客户端连接

Recent Posts

  • 用python演示A星算法 Feb 1, 2026
  • 手动部署 Mattermost 到 Ubuntu Server 20.04 Apr 17, 2025
  • 在 Ubuntu Server 上部署 FTP 服务 Jul 9, 2024
  • LFS安装笔记本无线网卡驱动需要注意的几点问题 Jun 30, 2024
  • 为Typecho代码块添加一键复制按钮 Jun 28, 2024
← LFS安装笔记本无线网卡驱动需要注意的几点问题 手动部署 Mattermost 到 Ubuntu Server 20.04 →
Powered by Hugo & Explore Theme.