网站首页 > 精选文章 正文
Ubuntu/Debian 打造 NAS: 完整版 Samba 配置教程(適合99%需求)
这篇文章面向常规 Linux 发行版用户,为您提供一套配适 Ubuntu 24.04 和 Debian 12 环境的 Samba NAS 搭建指南,包括 99%场景都通用的配置模板。
基本步骤
- 安装samba
- 配置smb用户
- 修改smb配置文件
- 配置网络发现
第一步:安装 Samba
sudo apt update
sudo apt install samba
Debian 系统默认未安装 sudo,如果你无法使用 sudo,可直接切换到 root 用户执行以上指令:
su -
第二步:添加 Samba 用户
您已经有系统用户,如 macjohson
sudo smbpasswd -a macjohson
输入两次密码,为 Samba 单独设置密码,和 Linux 系统登录密码无关。
新建用户
sudo adduser username # 替换成你想要的用户名
sudo smbpasswd -a username
输入密码后,此用户即可用于 Samba 登录
第三步:配置 Samba 服务
修改主配置文件:
sudo nano /etc/samba/smb.conf
建议删除原有 [global] 和其他元素,替换为下方配置:
[global]
workgroup = WORKGROUP
server string = SMB Server
netbios name = NAS
server role = standalone server
security = user
map to guest = never
log file = /var/log/samba/log.%m
max log size = 50
logging = file
disable spoolss = yes
load printers = no
printcap name = /dev/null
dns proxy = no
# 性能优化
use sendfile = yes
aio read size = 1
aio write size = 1
min receivefile size = 16384
getwd cache = yes
read raw = yes
write raw = yes
strict locking = no
oplocks = yes
level2 oplocks = yes
# 强制指定用户
force user = macjohson
force group = macjohson
create mask = 0664
directory mask = 0775
# 屏蔽 macOS 垃圾文件
veto files = /.DS_Store/._*/.AppleDouble/.Trash-*/.Spotlight-V100/.TemporaryItems/@eaDir/
delete veto files = yes
# macOS 兼容
vfs objects = catia fruit streams_xattr
fruit:metadata = stream
fruit:resource = file
fruit:locking = none
fruit:encoding = native
fruit:copyfile = yes
fruit:zero_file_id = yes
fruit:posix_rename = yes
fruit:model = MacSamba
fruit:time machine = no
# SMB2/3 协议
server min protocol = SMB2
server max protocol = SMB3
[medias]
path = /mnt/medias
browsable = yes
read only = no
valid users = macjohson
[privacy]
path = /mnt/privacy
browsable = yes
read only = no
valid users = macjohson
配置说明请见本文第五部分,部署后请确保分享目录权限对应用户可读写
第四步:重启 Samba 服务
sudo systemctl restart smbd
sudo systemctl enable smbd
第五步:配置说明
- 已依照 macOS 优化,支持 Finder 后台处理,且禁止了macos默认生成的文件上传
- 禁用 SMB1 协议,增强安全性
- force user 统一权限,适合单用户环境。因为我只有自己在使用,所以我把权限限制在了单一用户,配置:
force user = macjohson
force group = macjohson
以及文件共享配置里面的valid users = macjohson
请按照自己的需求来配置,以下为详细的配置说明,更改配置后你需要重启一下服务
sudo systemctl restart ssh sshd nmbd
[global]
全局配置
基础设置
- workgroup = WORKGROUP
- 设置工作组名称,默认是 Windows 的标准 WORKGROUP,对家庭环境适配良好。
- server string = SMB Server
- 描述服务器,显示在网络浏览器中,无功能性影响。
- netbios name = NAS
- 网络浏览名称,在局域网中显示为 NAS,便于识别。
- server role = standalone server
- 设置为独立服务器,不参与 AD 域,适合个人/家庭环境。
- security = user
- 使用基于用户名/密码的身份验证方式。
- map to guest = never
- 不允许访客用户访问,即未登录用户无法查看共享内容。
日志设置
- log file = /var/log/samba/log.%m
- 每台客户端生成一份日志,%m 表示客户端主机名。
- max log size = 50
- 单个日志文件最大 50KB。
- logging = file
- 日志记录到文件(默认行为)。
打印服务禁用(性能/安全优化)
- disable spoolss = yes
- 禁用 Windows 打印服务相关功能。
- load printers = no
- 不加载本地打印机。
- printcap name = /dev/null
- 不使用打印机功能。
网络优化
- dns proxy = no
- 不使用 DNS 代理,简化功能,减少安全风险。
性能优化
- use sendfile = yes
- 使用零拷贝发送方式,提高吞吐效率。
- aio read size = 1 / aio write size = 1
- 启用异步 IO 支持。
- min receivefile size = 16384
- 开启零拷贝的文件大小下限。
- getwd cache = yes
- 启用工作目录缓存,减少系统调用。
- read raw / write raw / strict locking = no / oplocks = yes / level2 oplocks = yes
- 一组组合优化,提升文件访问效率(特别是大文件),但在数据库类共享中需谨慎。
强制访问用户(权限控制)
- force user = macjohson
- force group = macjohson
- 所有访问者统一以指定用户身份进行文件读写,避免权限混乱。
- create mask = 0664
- directory mask = 0775
- 创建的文件和目录权限,适合大多数场景。
垃圾文件过滤(适配 macOS)
- veto files = ...
- 屏蔽并删除 macOS 下常见的垃圾/索引文件。
- delete veto files = yes
- 禁止这些文件上传,并自动删除。
macOS 兼容性
- vfs objects = catia fruit streams_xattr
- 加载 fruit 模块是支持 Time Machine 与资源叉的关键。
- 一系列 fruit:* 参数
- 完整适配 macOS,支持复制粘贴、图标保存、资源描述等特性。
协议限制
- server min protocol = SMB2
- server max protocol = SMB3
- 禁用不安全的 SMB1,强烈推荐!
共享部分
[medias]
- 路径 /mnt/medias
- 可浏览,读写权限,允许用户 macjohson 访问。
[privacy]
- 路径 /mnt/privacy
- 同上,为另一个共享分区。
第六步:安装 WSDD / Avahi 实现网络发现
如果在 Windows 或 macOS 上不能自动打开接入 NAS,你需要配置 WSD (Windows) 和 mDNS (macOS/Linux)。
1. 安装 wsdd
sudo apt install wsdd
sudo systemctl enable wsdd
sudo systemctl start wsdd
2. 安装 avahi-daemon
sudo apt install avahi-daemon avahi-utils
sudo systemctl enable avahi-daemon
sudo systemctl start avahi-daemon
配合 avahi,在 macOS Finder 中可自动打开 "NAS" 网络分享
如果进行防火墙配置,确保打开 TCP 5353 (mDNS),UDP 3702 (WSDD)等端口
总结
通过上述步骤,你已经完成了一套基于 Ubuntu/Debian 的高性能、安全且兼容 macOS/Windows 环境的 NAS 分享服务器。如果需要稳定、优雅、易于维护的自建解决方案,建议按照本文操作配置。
猜你喜欢
- 2025-06-04 小白也能玩明白的 NAS——浅谈DIY NAS 硬件与系统
- 2025-06-04 Samba 4.4发布:支持异步刷新请求和SMB3多通道
- 2025-06-04 国产麒麟电脑系统如何共享window系统打印机
- 2025-06-04 旧路由千万别扔,这些妙用等你解锁!
- 2025-06-04 Ugoos AM6B Plus 2021电视盒增加了WiFi 6连接功能
- 2025-06-04 绿联私有云上手两周后,我终于体验到什么叫“傻瓜式操作”
- 2025-06-04 开源路由系统iStoreOS推出NAS版,提供x86、ARS4固件
- 2025-06-04 Ftp、 Samba、NFS服务器的区别(ftp samba nfs区别)
- 2025-06-04 Linux与windows共享文件的神器:samba
- 2025-06-04 OpenWrt 安装配置 Samba 实现网络文件共享
- 最近发表
- 标签列表
-
- 向日葵无法连接服务器 (32)
- git.exe (33)
- vscode更新 (34)
- dev c (33)
- git ignore命令 (32)
- gitlab提交代码步骤 (37)
- java update (36)
- vue debug (34)
- vue blur (32)
- vscode导入vue项目 (33)
- vue chart (32)
- vue cms (32)
- 大雅数据库 (34)
- 技术迭代 (37)
- 同一局域网 (33)
- github拒绝连接 (33)
- vscode php插件 (32)
- vue注释快捷键 (32)
- linux ssr (33)
- 微端服务器 (35)
- 导航猫 (32)
- 获取当前时间年月日 (33)
- stp软件 (33)
- http下载文件 (33)
- linux bt下载 (33)