基于Samba协议使用树莓派4B来做一个内网共享网盘,多台电脑可以同时访问挂载在树莓派上的U盘或者机械硬盘,实现文件的快速传输
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务
操作步骤如下:
这里我使用的 VSCode 的 Remote - SSH工具通过SSH协议来连接树莓派,工具在VSCode内部git安装:
安装完成后我们通过树莓派的IP登录树莓派(首先树莓派要和本地PC连接在同一个网络下,且要获取对应的IP)
获取IP方法可以参考这篇文章:查看树莓派ip地址的几种方法
获取IP之后通过Remote远程登录**(再次强调树莓派和PC要在同一个局域网下)**,在VSCode打开Remote
添加远程连接,按照如下格式输入树莓派的登入IP和账号密码:
ssh + 树莓派用户名@树莓派IP地址
输入位置如下:
输入之后会提示在输入登录密码,输入即可登录树莓派,连接后打开终端,如下图
之后我么就可以输入shell指令来控制树莓派了,下面我们开始配置树莓派服务器!
首先我们先更新一下树莓派的镜像源
上清华大学的镜像源站扒镜像源: https://mirrors.tuna.tsinghua.edu.cn/help/raspbian/
找到适合树莓派版本的镜像源,这里树莓派4B使用的是debian的修改适配版本
打开树莓派镜像源列表sources.list (此处用的vim编辑器,具体操作可以百度!不习惯可以将vim替换gedit)
sudo vim /etc/apt/sources.list
将内容替换为清华大学源(具体源需要上清华镜像站点搜索)
# 编辑 `/etc/apt/sources.list` 文件,删除原文件所有内容,用以下内容取代: deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib rpi deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib rpi
再打开sources.list.d下面的raspi.list文件
sudo vim /etc/apt/sources.list.d/raspi.list
替换为以下内容
# 编辑 `/etc/apt/sources.list.d/raspi.list` 文件,删除原文件所有内容,用以下内容取代: deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
更新源
sudo apt-get update
更新完成
插入U盘查看磁盘分区,找到U盘的分区
df
当前SD卡已经挂载了,所以我们先卸载他,然后格式化
sudo umount /dev/sda1
将U盘格式化为ext4文件系统,输入指令,选择yes,然后一直回车默认
sudo mkfs.ext4 /dev/sda1
在树莓派的桌面创建文件夹:
cd /home/pi/Desktop #定位到桌面 mkdir share #创建文件夹
改变文件夹的权限:
sudo chmod 777 share
挂载U盘到该文件夹:
sudo mount /dev/sda1 /home/pi/Desktop/share
查看挂载情况:
安装samba:
sudo apt-get install samba samba-common-bin
安装完成后打开Samba的配置文件smb.conf
sudo vim /etc/samba/smb.conf
在末尾插入如下配置信息:
[jeckxu] path = /home/pi/Desktop/share valid users = pi browseable = yes public = yes writeable = yes
对应信息如下:
关键词 | 信息 |
---|---|
[jeckxu] | 映射的驱动器目录名称,自定义 |
path = /home/pi/Desktop/share | 挂载U盘的绝对路径 |
valid users = pi | 有效用户 |
browseable = yes | 当前状态下的共享文件是否可供浏览 |
public = yes | 全局状态下的共享文件是否可供浏览 |
writeable = yes | 可写 |
重新启动Samba:
sudo /etc/init.d/samba-ad-dc restart
添加Samba的用户
sudo smbpasswd -a pi
然后输入密码,此处我用户名设置的为pi(要为系统用户名)
使用其他名字前需要添加用户到系统用户,使用指令
sudo groupadd 名称 -g 6000 sudo useradd 名称 -u 6000 -g 6000 -s /sbin/nologin -d /dev/null
pi账号添加完成:
连接前我们需要启用PC端的SMB功能支持:
进入 启用或关闭Windows功能 (直接通过搜索进入),然后勾选SMB功能,点击确定
搜索 允许应用通过WindowDefender防火墙进行通讯 勾选文件和打印机共享:
之后我们就可以让PC连接树莓派云盘了,右击我的电脑,选择映射网络驱动器
按照格式输入IP和Samba配置的名称
之后输入之前的账户密码进行连接,连接完成后就可以访问文件夹了,我传一个压缩包上去,速度比较慢,但测试成功就行: