在 OpenWRT 系统添加 Samba 用户
2023年10月19日这两天在折腾 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 和用户名密码了,具体过程不再赘述。