凌峰创科服务平台

Windows Samba服务器如何搭建与配置?

Samba 是一个开源软件套件,它实现了 SMB/CIFS 协议,允许 Windows 客户机像访问本地网络上的其他 Windows 计算机一样,来访问和共享 Linux/Unix 系统的文件和打印机。

Windows Samba服务器如何搭建与配置?-图1
(图片来源网络,侵删)

虽然 Samba 服务器通常部署在 Linux 上,但在 Windows 上运行它主要用于以下几种情况:

  1. 跨平台开发与测试:开发人员需要在 Windows 环境中测试他们的应用程序与 Linux Samba 服务器的兼容性。
  2. 混合环境管理:在已经以 Windows 为主,但需要为某些 Linux/Unix 设备提供文件共享的网络上。
  3. 特定工具集成:一些工具可能需要 SMB 协议作为通信桥梁。
  4. 学习与研究:学习和理解 SMB/CIFS 协议的工作原理。

核心概念:Samba vs. Windows 文件共享

在开始之前,理解两者之间的区别很重要:

特性 Samba (在 Windows 上) Windows 文件共享
底层协议 SMB/CIFS (Samba 自己实现) SMB (Server Message Block) / SMB2 / SMB3
用户认证 可以使用本地 Windows 用户,也可以配置独立的 Samba 用户数据库。 默认使用本地 Windows 用户或 Active Directory 域用户。
配置文件 smb.conf (文本文件) “计算机管理” -> “共享” 或 PowerShell 命令
主要用途 模拟 Linux/Unix 共享行为,为异构系统提供服务。 原生 Windows 系统间的文件和打印共享。

在 Windows 上运行 Samba,相当于在你的 Windows 机器里“装”了一个能说“Linux Samba 方言”的服务,让 Linux 客户机能听懂。


使用预编译的二进制文件 (推荐用于快速测试)

这是最简单直接的方法,适合快速搭建和测试。

Windows Samba服务器如何搭建与配置?-图2
(图片来源网络,侵删)

步骤 1:下载 Samba

  1. 访问 Samba 官方下载页面:https://www.samba.org/samba/download/
  2. 找到 "Binaries" 部分,选择适合你 Windows 版本的预编译包,通常是 samba-latest-x86.zipsamba-latest-x64.zip
  3. 下载并解压到一个固定的目录,C:\samba

步骤 2:配置 Samba

  1. 进入 C:\samba 目录,你会看到一个 smb.conf 文件,这是 Samba 的核心配置文件。
  2. 用记事本或 VS Code 打开 smb.conf,默认配置可能很简单,我们需要修改或添加一个共享目录。

示例配置:

# 全局设置
[global]
   workgroup = WORKGROUP       # 设置你的 Windows 工作组名,通常默认是 WORKGROUP
   server string = Samba Server on Windows
   netbios name = WIN-SAMBA    # 设置 NetBIOS 名称,用于在网络邻居中显示
   security = user             # 安全级别,"user" 表示需要用户名和密码才能访问
   map to guest = never         # 禁用匿名访问
# 共享目录 [myshare]
[myshare]
   comment = My Shared Folder
   path = C:\samba\share       # **这是你要共享的文件夹路径,必须提前创建!**
   browseable = yes            # 是否在“网络”中可见
   writable = yes               # 是否允许写入
   read only = no
   guest ok = no               # 禁止匿名访问
   valid users = @users        # 只有 "users" 组的用户可以访问 (需要提前创建该组)
   create mask = 0664          # 新建文件权限
   directory mask = 0775       # 新建文件夹权限

配置说明:

  • [global]: 全局设置,影响所有共享。
  • [myshare]: 共享的名称,Windows 客户端将通过网络路径 \\<server_ip>\myshare 来访问它。
  • path: 最重要的一步,指定一个你想要共享的文件夹,这个文件夹必须存在,Samba 服务运行账户需要有权限访问它。
  • security = user: 这是最常用的安全模式,客户端必须提供一个有效的用户名和密码,这些用户名和密码必须是 Samba 服务器上已知的。

步骤 3:创建共享文件夹和用户

  1. 创建共享文件夹:根据你的 smb.conf 中的 path 设置,创建文件夹,在 C:\samba 下创建一个名为 share 的文件夹。
  2. 创建 Samba 用户:Samba 有自己独立的用户数据库,需要将 Windows 用户添加进去。
    • 打开 命令提示符 (CMD)PowerShell
    • 切换到 Samba 的 bin 目录:cd C:\samba\bin
    • 运行以下命令来添加用户(用户名为 winuser):
      # 首先确保 Windows 用户存在
      net user winuser /add * # (可选,如果用户不存在)
      # 将 Windows 用户添加到 Samba 数据库,并设置密码
      .\smbpasswd -a winuser
    • 系统会提示你为 winuser 设置一个 Samba 专用的密码,这个密码可以与 Windows 登录密码不同。

步骤 4:启动 Samba 服务

Samba 在 Windows 上是以服务的形式运行的。

  1. 打开 命令提示符 (CMD)PowerShell (以管理员身份运行)。

    Windows Samba服务器如何搭建与配置?-图3
    (图片来源网络,侵删)
  2. 切换到 Samba 的 bin 目录:cd C:\samba\bin

  3. 运行以下命令安装并启动 Samba 服务:

    # 安装 Samba 服务
    .\server -smbconf C:\samba\smb.conf -i -n "Samba Server" -d 3
    • -smbconf: 指定配置文件路径。
    • -i: 安装为服务。
    • -n: 指定服务名称。
    • -d 3: 设置日志级别 (0-3,3 为详细日志,方便排错)。
  4. 你也可以使用 sc 命令来管理服务:

    # 启动服务
    net start "Samba Server"
    # 停止服务
    net stop "Samba Server"
    # 删除服务
    sc delete "Samba Server"

步骤 5:客户端连接测试

  1. 在另一台 Windows 电脑上,打开文件资源管理器。
  2. 在地址栏输入 \\<你的Samba服务器IP>\myshare,然后按回车。
  3. 系统会提示你输入用户名和密码,输入你刚刚在 Samba 中创建的用户名(如 winuser)和对应的 Samba 密码。
  4. 成功后,你就可以像访问普通共享文件夹一样访问 C:\samba\share 的内容了。

使用 WSL (Windows Subsystem for Linux) (更推荐)

对于熟悉 Linux 的用户,在 Windows 上使用 WSL 运行 Samba 是更稳定、更强大的方式,它相当于在你的 Windows 系统里拥有一个完整的 Linux 子系统。

步骤 1:安装 WSL

  1. 以管理员身份打开 PowerShell 或 CMD。
  2. 运行命令:wsl --install -d Ubuntu (或你喜欢的其他发行版)。
  3. 按照提示完成安装,重启电脑。

步骤 2:在 WSL 中安装 Samba

  1. 打开 Ubuntu 应用。
  2. 更新软件包列表并安装 Samba:
    sudo apt update
    sudo apt install samba

步骤 3:配置 Samba

  1. 备份原始配置文件:

    sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
  2. 编辑配置文件:

    sudo nano /etc/samba/smb.conf
  3. 在文件末尾添加一个共享配置,

    [wslshare]
        comment = Share from WSL
        path = /home/your_username/share  # **将 your_username 替换为你的 WSL 用户名**
        browseable = yes
        writable = yes
        guest ok = no
        create mask = 0664
        directory mask = 0775
  4. 创建共享目录并设置权限:

    # 创建共享目录
分享:
扫描分享到社交APP
上一篇
下一篇