Ubuntu 上配置 Samba 文件共享

作者:

Samba 适合在 Linux 与 Windows 之间共享文件。一个可维护的共享应先明确目录所有者、Linux 权限和允许访问的网络范围,再写 smb.conf。

安装并准备目录

apt update
apt install samba
install -d -m 2770 -o root -g sambashare /srv/share
usermod -aG sambashare alice
smbpasswd -a alice

目录上的 SGID 位会让新文件继承组,便于多人协作。Samba 密码与 Linux 登录密码是两套凭据,不要因为方便而设置成相同的弱口令。

一个简单的共享段

[files]
    path = /srv/share
    browseable = yes
    read only = no
    guest ok = no
    valid users = @sambashare
    force group = sambashare
    create mask = 0660
    directory mask = 2770

保存后先运行 testparm 检查配置,再执行 systemctl reload smbd。如果启用了 UFW,只应对可信局域网开放 Samba,而不是直接暴露到公网:

ufw allow from 192.168.1.0/24 to any app Samba

常见故障顺序

Windows 无法写入时,同时检查 Samba 用户、valid users、Linux 目录权限和父目录的执行权限。能通过 IP 访问但不能通过名称访问,通常是名称解析问题,不应先改文件权限。

共享数据仍需独立备份。Samba 提供访问通道,不会自动防止误删除、勒索软件或磁盘损坏。