Samba

Copyright © Quectel Wireless Solutions Co., Ltd. 2026. All rights reserved.


Samba是在Linux系统上构建文件共享和访问控制服务的常用工具,利用SMB协议实现局域网内不同设备之间的文件互访。通过在本地部署Samba,可以方便地向Windows、Linux或macOS客户端提供共享目录,实现跨平台的文件传输与协作。

本文档介绍在Debian/Linux系统下配置Samba文件共享服务,使Windows电脑能直接访问设备的共享文件夹。

准备工作

  1. 确认设备环境;

    • 设备可正常联网

    • Windows主机和设备处于同一局域网内

  2. 检查网络连通。

    • 在终端执行 ping 8.8.8.8,若能看到返回的时间信息,则说明网络正常。

安装Samba服务

Samba是Debian/Linux上用于和Windows系统共享文件的服务程序。

  1. 更新软件包列表:

sudo apt-get update
  1. 该操作使系统获取最新的软件源信息,避免安装旧版本软件。

  2. 安装Samba及客户端工具:

sudo apt-get install samba
sudo apt-get install smbclient
  1. samba:服务器端软件,用于提供共享服务;

  2. smbclient:客户端工具,可用于测试连接是否成功。

  1. 确认Samba安装成功:

sudo samba -V

创建共享文件夹

  1. 创建共享目录:

mkdir -p /home/pi/share
  1. 创建测试文件:

touch /home/pi/share/test.txt
  1. 修改权限:

chmod -R 777 /home/pi/share

配置Samba服务

  1. 打开配置文件:

sudo vim /etc/samba/smb.conf
  1. 若不熟悉 vim,可使用其他编辑器,如 nano

sudo nano /etc/samba/smb.conf
  1. 滚动到文件末尾,添加以下内容:

[myshare]
    comment = My Shared Folder
    browseable = yes
    path = /home/pi/share
    create mask = 0777
    directory mask = 0777
    valid users = pi
    force user = pi
    force group = pi
    public = yes
    writable = yes
    available = yes
  1. [myshare]----Windows客户端访问时看到的共享名称。

  2. path----共享目录的实际路径。

  3. create mask / directory mask----新建文件/文件夹的默认权限。

  4. valid users ----允许访问Samba服务器的合法用户,此处示例用户为 pi

  5. writable = yes----允许客户端在此目录中创建、修改和删除文件。

设置Samba用户和密码

Samba的登录用户需要单独设置密码。
以系统用户 pi 为例:

sudo smbpasswd -a pi

需输入两次密码确认(此密码将在Windows访问时使用)。

重启Samba服务使配置生效

sudo systemctl restart smbd

设置Samba开机自动启动

sudo systemctl enable smbd

添加防火墙规则

#添加放行端口
sudo iptables -A INPUT -p tcp -m tcp --dport 445 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 139 -j ACCEPT
#设置客户端IP允许通过防火墙
sudo iptables -A INPUT -p icmp --icmp-type echo-request -s 192.xx.xx.xx -j ACCEPT
#保存规则
sudo sh -c 'iptables-save > /etc/iptables/rules.v4'

查看设备IP地址

sudo ifconfig

Windows电脑访问共享文件夹

  1. 按下“Win+R”打开运行窗口。

  2. 输入"\ + 设备的IP地址"。

../../../_images/image_PV9pbagpFoXKAMxG41jcb88Enfb.webp
  1. 输入用户名和密码,即可看到共享文件夹的内容。

  1. 用户名:pi

  2. 密码:sudo smbpasswd -a pi 所设置的密码

../../../_images/image_L5hTb6hTGox5F0x20SVcKFLcncd.webp

访问成功后,即可看到之前创建的测试文件 test.txt