news 2026/2/27 10:33:13

Debian 12 搭建FTP服务器实战(vsftpd + Samba)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Debian 12 搭建FTP服务器实战(vsftpd + Samba)

系统要求
Debian
Sudo权限

完整操作步骤

1. 安装vsftpd和Samba

sudoaptupdatesudoaptinstallvsftpd samba -y

2. 创建目录结构

sudomkdir-p /home/ftp/{filein,fileout}sudomkdir-p /srv/samba/fileout

3. 配置系统用户和权限

创建用户组和用户

sudogroupaddftpuserssudouseradd-g ftpusers -d /home/ftp/filein -s /usr/sbin/nologin fileinsudouseradd-g ftpusers -d /home/ftp/fileout -s /usr/sbin/nologin fileout

设置密码

sudopasswdfilein# 设置密码(例: ftppass123)sudopasswdfileout# 设置密码(例: ftppass123)

设置目录权限

sudochown-R filein:ftpusers /home/ftp/fileinsudochown-R fileout:ftpusers /home/ftp/fileoutsudochmod755/home/ftpsudochmod750/home/ftp/fileinsudochmod770/home/ftp/fileout

创建Samba共享的软链接

sudoln-s /home/ftp/fileout /srv/samba/

4. 配置vsftpd
编辑配置文件:

sudonano/etc/vsftpd.conf

替换为以下内容:

基础配置

listen=YESlisten_ipv6=NOanonymous_enable=YESlocal_enable=YESwrite_enable=YESdirmessage_enable=YESuse_localtime=YESxferlog_enable=YESconnect_from_port_20=YESchroot_local_user=YESsecure_chroot_dir=/var/run/vsftpd/emptypam_service_name=vsftpdrsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pemrsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.keyssl_enable=NO

# 匿名用户配置

anon_root=/home/ftp/fileinanon_upload_enable=NOanon_mkdir_write_enable=NOanon_other_write_enable=NO

# 本地用户配置

local_root=/home/ftp/$USERuser_sub_token=$USERallow_writeable_chroot=YES

重启服务:

sudosystemctl restart vsftpdsudosystemctlenablevsftpd

5. 配置Samba共享
创建Samba用户:

sudosmbpasswd -a filein# 输入密码(建议与系统密码相同)

编辑Samba配置:

sudonano/etc/samba/smb.conf

添加以下内容:

[fileout]path=/srv/samba/fileout validusers=fileinreadonly=no guest ok=no create mask=0770 directory mask=0770

重启服务:

sudosystemctl restart smbd nmbdsudosystemctlenablesmbd nmbd

6. 防火墙设置

sudoufw allow20/tcpsudoufw allow21/tcpsudoufw allow137:139/tcpsudoufw allow445/tcpsudoufw reload

7. 测试验证
FTP测试:
1.匿名访问下载:

ftplocalhost

用户名: anonymous

密码: (直接回车)

进入 /filein 目录测试下载

2.用户上传:

ftplocalhost

用户名: filein

密码: (输入密码)

在 /filein 目录测试上传/下载

Samba测试:

smbclient //localhost/fileout -U filein

输入密码后测试文件操作

关键配置说明

1.权限控制:

/home/ftp/filein:匿名用户只读(755)
/home/ftp/fileout:filein用户通过Samba读写(770)
filein用户对两个目录均有权限

2.隔离机制:

_local_user=YES限制用户在自己的主目录
anon_root指定匿名用户的根目录
通过软链接访问真实目录
3.安全加固:
所有FTP用户使用虚拟shell (/usr/sbin/nologin)
独立密码验证
防火墙仅开放必要端口
提示:实际部署时替换示例密码,建议使用sudo nano /etc/samba/smb.conf设置更严格的共享权限。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/20 14:15:26

网络安全岗位需求激增,月薪飙近6w?筑牢你的职业“防火墙”来了!

在数字威胁日益猖獗与监管要求日趋严格的当下,职业“抗风险能力”已成为决定从业者发展前景的核心指标。 无论是初入安全领域的新兵,还是深耕多年的技术专家,都在为寻找一份能带来长期稳定与可靠价值的工作而规划。 然而,坚实的…

作者头像 李华
网站建设 2026/2/19 5:08:37

FreeCAD绘图尺寸标注革命:3大突破性功能让你效率翻倍

FreeCAD绘图尺寸标注革命:3大突破性功能让你效率翻倍 【免费下载链接】FreeCAD_drawing_dimensioning Drawing dimensioning workbench for FreeCAD v0.16 项目地址: https://gitcode.com/gh_mirrors/fr/FreeCAD_drawing_dimensioning 还在为FreeCAD中的复杂…

作者头像 李华
网站建设 2026/2/17 20:25:51

从按次计费到通用支付层:x402 V2 升级全景速览

撰文:Tia,Techub News12 月 11 日晚,Coinbase 孵化的开源支付协议 x402 发布 V2 版本。这是自 2025 年 5 月主网上线以来的首次大版本迭代。过去六个月,x402 已累计处理超 1 亿笔支付,主要集中在 AI 代理微交易、付费 …

作者头像 李华
网站建设 2026/2/25 6:51:40

Windows更新后RDPWrap失效?终极修复指南

Windows更新后RDPWrap失效?终极修复指南 【免费下载链接】rdpwrap.ini RDPWrap.ini for RDP Wrapper Library by StasM 项目地址: https://gitcode.com/GitHub_Trending/rd/rdpwrap.ini 当Windows系统更新后,很多用户发现RDPWrap突然失效&#xf…

作者头像 李华
网站建设 2026/2/23 11:19:22

K8S-Helm

Helm:Kubernetes 应用管理的利器在 Kubernetes 生态系统中,应用部署和管理曾是一件繁琐的事情。开发者需要手动编写大量 YAML 配置文件,涉及 Deployment、Service 等众多资源对象,且在多环境部署和版本管理时面临诸多挑战。而 Hel…

作者头像 李华
网站建设 2026/2/19 14:21:30

PySceneDetect实战宝典:高效视频场景检测与智能分割

PySceneDetect实战宝典:高效视频场景检测与智能分割 【免费下载链接】PySceneDetect :movie_camera: Python and OpenCV-based scene cut/transition detection program & library. 项目地址: https://gitcode.com/gh_mirrors/py/PySceneDetect PySceneD…

作者头像 李华