在 OpenWRT 系统添加 Samba 用户

2023年10月19日 作者 admin

这两天在折腾 XBOX 版的媒体管理软件 Kodi。家里的红米电视也装了 Kodi,但是电视配置不够,经常闪退,于是想到了 XBOX Series X这个性能怪兽(以下简称 XSX)。

XSX 的 Kodi 有一些限制,就是默认没启用 Samba 插件(SMB Plugin),只有 NFS 协议。而 NFS 协议是 Linux 下的,对于底层是 Windows 10 的 XSX 来说,还是 Samba 协议更合适。

不过我还是先折腾了 NFS 协议,结果失败了。只好转战 SMB 了!

Kodi 开启 SMB 插件

进入 Kodi - 设置 - 插件 - 我的插件 - 虚拟文件系统 - SMB support - 启用

你以为启用了就完事了?当然不是了,要不然怎么叫折腾呢!

可能是 XSX 的限制,默认不允许 SMB 的匿名用户(Anonymous)登录,所以还要在 SMB 服务器上进行设置。

OpenWRT 设置 SMB 服务

我的 SMB 服务器就是路由器,上面跑的是 OpenWRT 系统。它自带了一个「网络共享」UI,但是目前在这里设置也是没用的,原因在于:

XSX 系统不允许匿名用户登录,那么我们就需要让一个实体用户具有登录 SMB 的权限。而目前 OpenWRT 系统里只有一个实体用户 root,虽然理论上可以让它登录 SMB,但出于安全性考虑,还是再新建一个实体用户比较好。所以我们下一步是要建立一个用户。

新建用户

以下所有命令都需要用 ssh 登录到 OpenWRT 里操作。

新建用户的逻辑:在 OpenWRT 里新建用户 - 配置用户组 - 设置用户的系统密码 - 设置用户登录 SMB 的密码。

Step 1:在 OpenWRT 里新建用户,并配置用户组

cd /etc #进入/etc目录
vi passwd #编辑目录里的passwd文件
# 按i键,移动光标到最后一行,输入以下内容
colinyn428:*:1000:1000:,,,:/home/colinyn428:/bin/bash
# 然后按Esc退出编辑模式,再输入:wq保存
vi group #编辑目录里的group文件
# 按i键,移动光标到最后一行,输入以下内容
colinyn428:*:1000:
# 然后按Esc退出编辑模式,再输入:wq保存

Step 2:设置用户的系统密码和 SMB 密码

passwd colinyn428 #给colinyn428这个用户设置系统密码
# 密码需要输入两次,输入时不会显示出来,如果输入了纯数字/字母的弱密码会提示Bad password: too weak,不用管
smbpasswd -a colinyn428 #给colinyn428这个用户创建smb密码
# 密码也需要输入两次,输入时不会显示出来
service samba restart #重启smb服务

配置 SMB 共享

这一步需要在 OpenWRT 的【网络存储】-【网络共享】页面配置,如下图:

主要就是改红框里这几个配置项。

  • 名称:随便填。
  • 目录:我下挂的是一个移动硬盘,这个路径在 OpenWRT 的【系统】-【挂载点】里可以看到。
  • 允许用户:填刚刚新建的用户。
  • 只读、可浏览:根据需要勾选。
  • 允许匿名用户:不勾选。
  • 权限掩码:照图中填写即可。0666 是用户/组/其他用户都有读写权限;0777 是用户/组/其他用户都有读写和执行权限。

都填写好以后点【保存 & 应用】按钮。

然后在 Kodi 里添加 SMB 目录即可。就是填写 IP 和用户名密码了,具体过程不再赘述。

以上设置参考:https://www.bilibili.com/read/cv16793990/