小米摄像头Nas存储

这两天刚好买了小米摄像头,发现其有Nas存储的功能,刚好家里有一台服务器,可以存储数据,于是心血来潮折腾一下,并且写下此篇文章以此来记录。

[!warning]

小米支持的nas存储必须保证存储设备和小米摄像头在同一个局域网中才可行。

参考网址:

  1. Samba服务安装以及小米摄像头同步
  2. 小米摄像头如何将监控数据存储到OMV/Nas中
  3. 小米摄像头Nas存储配置记录

由于小米摄像头是支持SMB协议传输数据的,所以我们只需要配置好samba服务之后,启动SMB共享,让摄像头连接上共享目录,这样就可以达成目的来。

1. 准备工作

  1. 创建好共享文件夹,用来存放摄像数据

    sudo mkdir -p /data/samba/data/xiaomi_sxt
    
  2. 创建新的系统用户(可省略),这个用户需要提供给samba服务使用

    sudo useradd xiaomi_sxt
    
  3. samba用户添加,添加的这个用户必须是系统用户

    sudo smbpasswd -a xiaomi_sxt
    
  4. smbpasswd -a:增加用户(要增加的用户必须以是系统用户

  5. smbpasswd -d:冻结用户,就是这个用户不能在登录了

  6. smbpasswd -e:恢复用户,解冻用户,让冻结的用户可以在使用

  7. smbpasswd -n:把用户的密码设置成空. 要在global中写入 null passwords -true

  8. smbpasswd -x:删除用户

  9. 设置共享目录的所有者为你添加到samba服务中的用户

    sudo chown xiaomi_sxt:xiaomi_sxt /data/samba/data/xiaomi_sxt
    
  10. 设置目录权限

    sudo chmod -R 755 /data/samba/data/xiaomi_sxt
    

上述准备工作做好了之后,就可以安装samba服务了。

2. samba服务安装

安装命令:

sudo apt install -y samba

安装好了之后,修改配置文件:

sudo vim /etc/samba/smb.conf

[!note]

配置文件默认在/etc/samba/smb.conf

直接来到文件末尾进行添加:

#定义共享目录的访问名称(客户端通过该名称访问共享)
[xiaomi_sxt]
   # 共享描述信息(显示给客户端用户的备注说明)
   comment = 小米摄像头共享目录

   # 是否在网络上可见(yes=允许浏览该共享目录)
   browseable = yes

   # 服务器端实际共享的物理路径(需确保目录存在且有权限)
   path = /data/samba/data/xiaomi_sxt

   # 新建文件的权限掩码(0700表示文件权限rwx------)
   create mask = 0700

   # 新建目录的权限掩码(0777表示目录权限rwxrwxrwx)
   directory mask = 0777

   # 是否允许匿名访问(yes=允许,但会被 guest ok 参数覆盖)
   public = yes

   # 共享是否生效(yes=启用该共享配置)
   available = yes

   # 是否允许写入(yes=允许写操作,需与read only互斥)
   writable = yes

   # 是否只读(no=关闭只读模式,与writable=yes等效)
   read only = no

   # 是否允许游客(无密码)访问(no=需要有效用户认证)
   guest ok = no

   # 继承父目录所有者(需内核支持,确保文件归属正确)
   inherit owner = yes

   # 允许访问的用户列表(指定用户xiaomi_sxt才有权限)
   valid users = xiaomi_sxt

   # 强制文件所有者(所有操作将映射为此用户)
   force user = xiaomi_sxt

   # 强制文件属组(所有操作将映射为此用户组)
   force group = xiaomi_sxt

samba服务配置新增

[!warning]

有些小米摄像头只支持SMB 1.0,故还需要配置按1.0版本共享,在配置文件顶部找到workgroup = WORKGROUP,在下边添加

server min protocol = NT1

由于我的小米摄像头比较新,已经可以支持SMB 3.0了,所以这一步配置我就省略掉了。

之后你重启服务,你会发现服务会报错:

samba状态检测

原因如下:你在尝试启动 samba-ad-dc.service(Active Directory 域控制器服务),但你实际需要的是普通的文件共享服务。

所以我们需要禁用域控制器服务:

sudo systemctl stop samba-ad-dc.service
sudo systemctl disable samba-ad-dc.service

之后启动正确的文件共享服务:

# 启用并启动 SMB 文件共享服务
sudo systemctl enable smbd nmbd

# 启动服务
sudo systemctl start smbd nmbd

服务区别说明

  • samba-ad-dc.service = Active Directory 域控制器(你不需要这个)
  • smbd.service = SMB/CIFS 文件和打印机共享服务(你需要这个)
  • nmbd.service = NetBIOS 名称服务(辅助服务,建议同时启用)

对于小米摄像头的文件共享,你只需要 smbdnmbd 服务。


smbdnmbd 服务启动成功之后,你可以使用命令来验证是否配置成功:

smbclient -L localhost -U xiaomi_sxt

服务测试

3. 小米摄像头设置Nas存储

smbdnmbd 服务启动成功之后,就可以在设置小米摄像头的Nas存储了。

但是这里有一点需要注意,你的服务器是需要放行smbd和nmbd服务的端口,否则可能导致小米摄像头无法搜索到Nas设备。

sudo ufw allow samba

放行samba服务端口

来到小米摄像头设置界面逐步设置即可:

存储设置

Nas网络存储设置

输入账号密码添加

选择自己创建的共享目录存储

其他配置设置

设置好了之后,数据就会按照你的设置情况进行转存到你的服务器中:

数据存储情况