# 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. 更新软件包列表: ```plaintext sudo apt-get update ``` 1. 该操作使系统获取最新的软件源信息,避免安装旧版本软件。 2. 安装Samba及客户端工具: ```plaintext sudo apt-get install samba sudo apt-get install smbclient ``` > 1. ***samba***:服务器端软件,用于提供共享服务; > 2. ***smbclient***:客户端工具,可用于测试连接是否成功。 3. 确认Samba安装成功: ```plaintext sudo samba -V ``` # 创建共享文件夹 1. 创建共享目录: ```plaintext mkdir -p /home/pi/share ``` 1. 创建测试文件: ```plaintext touch /home/pi/share/test.txt ``` 1. 修改权限: ```plaintext chmod -R 777 /home/pi/share ``` # 配置Samba服务 1. 打开配置文件: ```plaintext sudo vim /etc/samba/smb.conf ``` 1. 若不熟悉 *vim*,可使用其他编辑器,如 *nano*: ```plaintext sudo nano /etc/samba/smb.conf ``` 1. 滚动到文件末尾,添加以下内容: ```plaintext [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* 为例: ```plaintext sudo smbpasswd -a pi ``` 需输入两次密码确认(此密码将在Windows访问时使用)。 # 重启Samba服务使配置生效 ```plaintext sudo systemctl restart smbd ``` 设置Samba开机自动启动 ```plaintext sudo systemctl enable smbd ``` # 添加防火墙规则 ```plaintext #添加放行端口 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地址 ```plaintext sudo ifconfig ``` # Windows电脑访问共享文件夹 1. 按下“**Win+R**”打开运行窗口。 2. 输入"**\\ + 设备的IP地址**"。 ```{image} images/image_PV9pbagpFoXKAMxG41jcb88Enfb.webp :width: 393px :height: 202px ``` 3. 输入用户名和密码,即可看到共享文件夹的内容。 > 1. 用户名:pi > 2. 密码:*sudo smbpasswd -a pi* 所设置的密码 ```{image} images/image_L5hTb6hTGox5F0x20SVcKFLcncd.webp :width: 459px :height: 451px ``` 访问成功后,即可看到之前创建的测试文件 *test.txt*。