debian 13 安装配置ftp 创建用户admin可以访问 /mnt/Data/

1. 安装 vsftpd

首先,更新系统软件包列表并安装 vsftpd。

复制代码
sudo apt update
sudo apt upgrade
sudo apt install vsftpd

2. 创建用户并设置目录

我们需要创建 admin 用户,并将其主目录指向或关联到 /mnt/Data/

  • 创建用户:

    复制代码
    sudo adduser admin

    (按提示设置密码,其他信息可直接回车跳过)

  • 配置权限: 为了让 admin 能够读写该目录,你需要确保权限正确。如果 /mnt/Data/ 已经是挂载点:

    复制代码
    sudo chown admin:admin /mnt/Data/
    sudo chmod 755 /mnt/Data/

3. 配置 vsftpd

复制代码
# 1. 运行模式设置
# -----------------------------------------------
# 启用独立守护进程模式
listen=YES
# 如果不需要 IPv6,建议关闭以减少资源占用
listen_ipv6=NO

# 2. 访问控制
# -----------------------------------------------
# 禁止匿名用户登录
anonymous_enable=NO
# 允许本地系统用户登录(如 admin)
local_enable=YES
# 允许执行写入操作(上传、删除、创建目录)
write_enable=YES
# 设置上传文件的默认权限掩码(022 对应目录 755,文件 644)
local_umask=022

# 3. 目录限制 (Chroot)
# -----------------------------------------------
# 将用户锁定在其主目录内,增强安全性
chroot_local_user=YES
# 允许在被锁定的根目录下拥有写权限(解决 Debian/Ubuntu 常见的登录错误)
allow_writeable_chroot=YES
# 强制指定 FTP 登录后的起始目录
local_root=/mnt/Data/

# 4. 传输模式与防火墙 (被动模式)
# -----------------------------------------------
# 启用被动模式(对 NAT 环境和现代防火墙更友好)
pasv_enable=YES
# 限制被动模式使用的端口范围,便于在防火墙开洞
pasv_min_port=40000
pasv_max_port=50000

# 5. 日志与本地化
# -----------------------------------------------
# 开启传输日志
xferlog_enable=YES
# 日志存放路径
vsftpd_log_file=/var/log/vsftpd.log
# 使用本地时间而非 GMT 时间
use_localtime=YES

# 6. 其他优化
# -----------------------------------------------
# 禁止显示服务器版本信息,防止漏洞探测
ftpd_banner=Welcome to My Private FTP Service.
# 启用目录信息提示(如果目录下有 .message 文件)
dirmessage_enable=YES
  • 重启服务

    复制代码
    sudo systemctl restart vsftpd
  • 开放防火墙端口 (如果你使用了 ufw):

    复制代码
    sudo ufw allow 20,21/tcp
    sudo ufw allow 40000:50000/tcp
相关推荐
tiger从容淡定是人生几秒前
金融系统 Summit Backend 的 Docker 化实践:CI/CD、测试与安全性的工程经验总结
运维·docker·云原生·容器·eureka·金融
Wyawsl几秒前
NoSQL之Redis配置与优化
数据库·redis·nosql
indexsunny几秒前
互联网大厂Java面试实战:基于微服务与云原生的电商场景问答解析
java·数据库·spring boot·docker·微服务·云原生·kubernetes
m0_678485453 分钟前
如何在保留功能逻辑的前提下隐藏网页菜单项(CSS 隐藏技巧).txt
jvm·数据库·python
Wyz201210244 分钟前
Python 字典高效合并:自定义处理重复键的完整指南
jvm·数据库·python
2401_897190557 分钟前
如何在保留功能逻辑的前提下隐藏网页菜单项(CSS 隐藏
jvm·数据库·python
倔强的石头1067 分钟前
NFS网络文件系统下企业级数据库安装排障实战:环境变量失效与权限问题的深度解析
网络·数据库
小白考证进阶中8 分钟前
阿里云ACA部分考试成绩分享(2月/3月/4月)
运维·阿里云·云计算·阿里云认证·阿里云aca认证·阿里云aca·阿里云aca大数据认证
2501_914245939 分钟前
如何在phpMyAdmin中查询加密数据_AES_DECRYPT函数的实时解密展示
jvm·数据库·python
杰 .10 分钟前
Linux 开机 + 进程创建 + fork + exec + 加载器
linux·服务器