使用树莓派搭建文件共享服务器-samba服务器

news/2025/2/16 0:58:16/

局域网内部通过文件共享来传输文件是一种非常方便的方式,小米摄像头也支持用文件共享smb模式将视频备份到局域网中的文件服务器上。之前我一直使用荣耀pro路由器游戏版,是自带USB接口支持文件共享服务的,接上USB移动硬盘,小米摄像头就可以自动将视频备份到移动硬盘上了。最近换了一个WIFI6的路由器,奈何新路由器是不支持文件共享功能的。也不想把家里的电脑一直开着,就想着使用树莓派(其实树莓派太贵了,我找来一个平替,香橙派orangepi zero3 是我找到的最低成本的替代解决方案(网络足够快,CPU的IO能力足够强)1G内存版本的只要99元)加个USB硬盘来做个文件服务器用来存储小米摄像头录下来的视频。

一、安装samba服务

smb协议是文件共享协议,树莓派的默认安装下是不支持的,所以第一步要先安装samba服务,使用以下二条命令更新安装源后安装samba服务。

sudo apt update
sudo apt install samba samba-common

二、创建要共享的文件夹

在当前目录下创建sharing目录,用于存放要共享的文件。并修改文件夹的访问权限。

mkdir sharing
chmod 777 sharing

三、添加文件共享用户名和密码

出于安全考虑,一般都要对共享文件夹的访问进行控制,所以这里需要给能访问这个共享文件夹的人创建一个用户名和密码(注意这个用户名必须是树莓派里已经存在的用户,替换下面命令中的username,回车后设置共享文件的访问密码)

sudo smbpasswd -a username

四、配置共享文件夹(共享目录)

用以下命令打开配置文件后,在文件的末尾增加本次要共享的目录的设置

sudo vi /etc/samba/smb.conf

并且将path, force user和force group设置成你要共享的目录和你的共用用户名和密码。

[sharing]path=/home/username/sharingpublic = yeswriteable = yesbrowseable = yesguest ok = yescreate mask = 0700directory mask = 0700force user = usernameforce group = usergroup

在global标签下面新增配置由于小米摄像头只支持smb1.0,所以首先需要配置samba服务,使其支持smb1.0,否则小米摄像头会识别不到nas或者说识别不到文件共享系统服务器,会找到不文件服务器,或者报“无法获取储存位置”的错误

server min protocol = NT1

五、重启samba服务

sudo service smbd restart

六、查看sharing文件夹是否成功共享

安装smbclient后,用smbclient则可以看到sharing目录已经被成功的共享了

sudo apt install smbclient
smbclient -L //10.0.0.1 -U username
Password for [WORKGROUP\username]:Sharename       Type      Comment---------       ----      -------print$          Disk      Printer Driverssharing         Disk      IPC$            IPC       IPC Service (Samba 4.13.13-Debian)username      Disk      Home Directories
SMB1 disabled -- no workgroup available

http://www.ppmy.cn/news/1168509.html

相关文章

NewStarCTF 2023 公开赛道 WEEK2|WEB 游戏高手

app_v2.js就是游戏文件 右键“用调试器打开”: var gameScore 0; 就是当前分数, 打开控制台,输入 gameScore 1000000,回车 就可以得到flag

常用linux的命令(持续更新)

1.防火墙相关 centos7 防火墙 查状态:systemctl status firewalld.service 关闭:systemctl disable firewalld.service 重启生效 关闭:systemctl stop firewalld.service 马上生效 systemctl stop firewalld 临时关闭防火墙 systemctl disabl…

链表收尾(8.2)

例题解析 138. 随机链表的复制 - 力扣(LeetCode) 1.拷贝节点插入原节点的后面(核心) 这样做的目的是方便找 random 节点,知道原节点可以找 random,知道上一个 random 可以找下一个 random 。 struct Node…

Umi3实战教程

一、框架介绍 umi是蚂蚁金服的前端开发框架,它内置了路由、web/移动端UI库、数据流、权限控制、常用hooks库、构建、部署、测试、等等一些工具,几乎涵盖了正常前端开发要用到的所有工具。 二、环境准备 pnpm 相比npm、yarn,pnpm更小更快扁平…

专访 Web3Go 新产品 Reiki:培育 AI 原生数字资产与创意新土壤

从 DeFi 到 NFTFi、SocialFi,web3 从业者在尝试 crypto 与区块链技术能为我们的生活、创作、娱乐和文化带来何种新体验,而生成式人工智能的突破性发展则为我们与链上世界的交互、社区内容创作等带来了新的体验,改变互动、交易和价值创造方式。…

FreeRTOS最全教程(目录)

文章目录 前言一、为什么要学FreeRTOS二、FreeRTOS开发和裸机开发的区别三、FreeRTOS入门篇四、FreeRTOS深入篇五、自制FreeRTOS六、FreeRTOS项目开发总结 前言 本篇文章将作为FreeRTOS最全教程的目录使用。 一、为什么要学FreeRTOS 1.嵌入式系统开发: FreeRTOS …

实现日期间的运算——C++

😶‍🌫️Take your time ! 😶‍🌫️ 💥个人主页:🔥🔥🔥大魔王🔥🔥🔥 💥代码仓库:🔥🔥魔…

SpringBoot + MyBatis 在 jar 中可以启动但是 Idea中无法启动的原因

现象 在idea中启动始终卡住,查看线程堆栈发现一直在mybatis的处理过程中,细究了一下堆栈发现mybatis有使用远程方式加载类的情况,并且此时cpu会飙升, 在命令行中使用java -jar 的形式可以正常启动,但是在idea中启动始…