Samba¶
Copyright © Quectel Wireless Solutions Co., Ltd. 2026. All rights reserved.
Samba是在Linux系统上构建文件共享和访问控制服务的常用工具,利用SMB协议实现局域网内不同设备之间的文件互访。通过在本地部署Samba,可以方便地向Windows、Linux或macOS客户端提供共享目录,实现跨平台的文件传输与协作。
本文档介绍在Debian/Linux系统下配置Samba文件共享服务,使Windows电脑能直接访问设备的共享文件夹。
准备工作¶
确认设备环境;
设备可正常联网
Windows主机和设备处于同一局域网内
检查网络连通。
在终端执行 ping 8.8.8.8,若能看到返回的时间信息,则说明网络正常。
安装Samba服务¶
Samba是Debian/Linux上用于和Windows系统共享文件的服务程序。
更新软件包列表:
sudo apt-get update
该操作使系统获取最新的软件源信息,避免安装旧版本软件。
安装Samba及客户端工具:
sudo apt-get install samba
sudo apt-get install smbclient
samba:服务器端软件,用于提供共享服务;
smbclient:客户端工具,可用于测试连接是否成功。
确认Samba安装成功:
sudo samba -V
创建共享文件夹¶
创建共享目录:
mkdir -p /home/pi/share
创建测试文件:
touch /home/pi/share/test.txt
修改权限:
chmod -R 777 /home/pi/share
配置Samba服务¶
打开配置文件:
sudo vim /etc/samba/smb.conf
若不熟悉 vim,可使用其他编辑器,如 nano:
sudo nano /etc/samba/smb.conf
滚动到文件末尾,添加以下内容:
[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
[myshare]----Windows客户端访问时看到的共享名称。
path----共享目录的实际路径。
create mask / directory mask----新建文件/文件夹的默认权限。
valid users ----允许访问Samba服务器的合法用户,此处示例用户为 pi。
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电脑访问共享文件夹¶
按下“Win+R”打开运行窗口。
输入"\ + 设备的IP地址"。
输入用户名和密码,即可看到共享文件夹的内容。
用户名:pi
密码:sudo smbpasswd -a pi 所设置的密码
访问成功后,即可看到之前创建的测试文件 test.txt。