Samba

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

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

准备工作

  1. 确认设备环境

    • 设备已能正常联网
    • Windows和设备在同一局域网内
  2. 检查网络连通

    • 在终端执行 ping www.baidu.com,若有返回时间信息,说明网络正常

安装Samba服务

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

  1. 更新软件包列表

    sudo apt-get update
    

    让系统获取最新软件源信息,避免安装旧版本

  2. 安装Samba及客户端工具

    sudo apt-get install samba
    sudo apt-get install smbclient
    

    samba:服务器端,用于提供共享服务;

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

  3. 确认Samba安装成功

    sudo samba -V
    

创建共享文件夹

  1. 创建共享目录

    mkdir -p /home/pi/share
    
  2. 创建一个测试文件

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

    chmod -R 777 /home/pi/share
    

配置Samba服务

  1. 打开配置文件

    sudo vim /etc/samba/smb.conf
    

    如果你不熟悉vim,可以使用其他编辑器如nano

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

    [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----新建文件/文件夹的默认权限

    vaild users ----可以访问samba服务器的合法用户,这里演示用户是pi

    writable = yes----客户端可以在此目录创建、修改、删除文件

设置Samba用户和密码

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

sudo smbpasswd -a pi

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

重启Samba服务使配置生效

sudo systemctl restart smbd

开机自动启动 Samba

sudo systemctl enable smbd

查看设备IP地址

sudo ifconfig

Windows电脑访问共享文件夹

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

  2. 输入设备的IP地址,可以看到共享文件夹出现

  3. 输入用户名和密码,即可看到共享文件夹里面的内容

    用户名:pi

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

进去后可以看到之前创建的测试文件test.txt