Linux 下玩转小米路由器文件访问
家里有一台小米路由器,而最近个人的主力电脑是
Linux 系统( Ubuntu )。若想在 Linux 下访问小米路由器上 的文件,有三种方法可以实现,本文记录这三种方法的具体 步骤。
准备工作 在开始介绍三种访问方法之前,有一些相同的准备工作需要 做,即不管使用哪种方法,都需要先完成这些准备工作。
同一个局域网
Linux 系统需要和小米路由器在同一个局域网中。现今主流 的 Linux 系统都支持无线局域网了,所以只要将 Linux 系 统连接小米路由器对应的 Wi-Fi ,即可实现同处一个局域网 的要求。
开启 Samba 服务 想要让 Linux 设备能够访问小米路由器上的文件, 需要开启 小米路由器上的 Samba 服务。在手机的「小米路由器」 app
的「工具箱」页面,找到 Samba 插件:
xiaomi-router-app-plugins
进入 Samba 并允许后,确认 Samba 协议已开启:
xiaomi-router-app-samba
从上图可见,小米电视和小米盒子的正常工作也是依赖于
Samba 服务的。
开启全盘访问 除了 Samba 服务之外, 还需要打开 Linux 对应设备的 「路 由全盘访问」权限。
首先,在 app 的「路由」页面,找到 Linux 系统对应的设 备名称,如 Yubuntu : xiaomi-router-app-home
点击此设备进入设置页面,开启「路由全盘访问」权限:
xiaomi-router-disk-access
这样, app 上的设置就完成了。另外提前说明一点,全盘访 问权限并不是必须的,但有了这个权限会方便很多,下文会 详细说明。
方法一:通过 smbclient 访问 由前面的准备工作可知,小米路由器上的文件是通过
SambaSamba 服务对外提供访问的, 小米路由器就是一台 服务器,而 Linux 设备是 Samba 客户端,因此可以使用
Samba
smbclient 命令来访问。
smbclient 命令提供了一种类似 ftp 命令的方式访问
Samba 服务器。一台 Samba 服务器可以提供诸如磁盘、
打印机等不同的共享服务, 先使用 smbclient 命令的 -L 选
项看看小米路由器提供了哪些共享服务 (其中
项看看小米路由器提供了哪些共享服务 (其中
是小米路由器的默认 IP 地址):
$ smbclient -L
WARNING: The "syslog" option is deprecated
Enter yestyle's password:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 4.0.21]
Sharename Type Comment
XiaoMi Disk
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 4.0.21]
Server Comment
WECHANGER Share from router
YE-PC
Workgroup Master
WORKGROUP WECHANGER
其中可以看到小米路由器的域名称 ( WORKGROUP )、操作 系统类型( Unix )及 Samba 服务器的版本( 4.0.21 )等信 息,重点关注 Sharename 和 Type 两列,可以看到小米路 由器提供了一个叫做 XiaoMi 的 Disk 共享服务即磁盘共 享服务,我们要访问的就是这个磁盘服务。
在准备工作部分,提到「全盘访问权限」不是必须的,这里 看看假如没有全盘访问权限,可以访问的服务有何不同。
$ smbclient -L
WARNING: The "syslog" option is deprecated
Enter yestyle's password:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 4.0.21]
Sharename Type Comment
torrent Disk
下载
Disk
共享
Disk
图片
Disk
文档
Disk
视频
Disk
音乐
Disk
IPC$ IPC IPC Service (Share from router)
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 4.0.21]
Server Comment
WECHANGER Share from router
YE-PC
Workgroup Master
WORKGROUP WECHANGER
可以看到,在没有全盘访问权限时,小米路由器将各个子目 录分别作为一个磁盘服务,将访问权限做了更细粒度的划分。