一、安装 Samba 服务

bash

运行

# 更新软件源
sudo apt update
# 安装samba主程序+客户端工具
sudo apt install samba samba-common-bin -y

二、目录权限预处理(存放 Windows 镜像目录)

bash

运行

# 归属当前用户
sudo chown -R shitou:shitou /home/mirror/iso
# 开放全部读写执行权限
sudo chmod -R 777 /home/mirror/iso

三、修改 Samba 核心配置文件

bash

运行

sudo vi /etc/samba/smb.conf

拉到文件最末尾,追加以下完整共享配置:

ini

[iso]
    # 共享对应服务器目录
    path = /home/mirror/iso
    # 网上邻居可见共享名
    browseable = yes
    # 允许匿名来宾访问
    guest ok = yes
    # 关闭只读,开启读写
    read only = no
    writable = yes
    # 所有匿名操作强制使用shitou用户身份
    force user = shitou
    force group = shitou
    # 新建文件夹最高权限
    directory mask = 0777
    # 新建文件最高读写权限
    create mask = 0666

四、校验配置 + 启动 / 开机自启服务

1. 校验配置语法(无报错再往下执行)

bash

运行

testparm

输出 Loaded services file OK 代表配置无错误。

2. 设置开机自启并重启服务生效

Ubuntu 正确服务名是 smbdnmbd(不要写 smb/nmb,会报错别名)

bash

运行

# 设置开机自动启动
sudo systemctl enable smbd nmbd
# 重启服务加载新配置
sudo systemctl restart smbd nmbd
# 查看运行状态,确认 active (running)
systemctl status smbd

五、防火墙放行内网 SMB 端口(仅 192.168 内网网段)

bash

运行

# UDP 137、138 局域网发现
sudo ufw allow proto udp from 192.168.0.0/16 to any port 137,138
# TCP 139、445 文件传输核心端口
sudo ufw allow proto tcp from 192.168.0.0/16 to any port 139,445
# 重载防火墙规则
sudo ufw reload

Windows 访问报错两种解决方案(弹窗提示:阻止来宾访问)

方案 1:账号密码登录(推荐,企业电脑 / 域环境通用,无需改 Windows 策略)

服务器操作:给 shitou 创建 Samba 独立登录密码

bash

运行

sudo smbpasswd -a shitou

输入两次自定义密码(和服务器系统密码可不一样)

Windows 操作

  1. 此电脑地址栏输入:\\192.168.31.19\iso

  2. 弹窗用户名:shitou,密码输入刚才设置的密码

  3. 确定后直接进入文件夹,可上传、删除、修改 ISO 文件

方案 2:Windows 开启匿名免密访问(仅单机内网,域电脑不建议)

  1. Win + R 输入 gpedit.msc 打开组策略编辑器

  2. 展开路径:计算机配置 → 管理模板 → 网络 → Lanman 工作站

  3. 双击策略「启用不安全的来宾登录」,设置为已启用,保存

  4. 重启 Windows,再次访问 \\192.168.31.19\iso,无需密码直接读写


常用维护命令汇总

  1. 修改共享配置后重载服务

bash

运行

sudo systemctl restart smbd nmbd
  1. 临时关闭写入权限(防止镜像误删)

    修改 smb.conf,将 read only = no 改为 read only = yes,重启服务

  2. 关闭匿名访问,仅账号登录

    共享段修改 guest ok = no,重启服务

  3. 查看 Samba 运行状态

bash

运行

systemctl status smbd

⚠️ 安全提示

  1. 该匿名 + 全开读写配置仅在内网隔离环境使用,绝对不要对公网开放 139、445 端口;

  2. 777 最高权限存在误删、篡改风险,仅存放系统镜像临时使用。