KsuWebUI 中文文档 下载 App

命令白名单机制——哪些操作 KsuWebUI 允许执行

为什么需要白名单

KsuWebUI 通过 JavaScript API 与系统交互——其中最强大的能力是执行任意 shell 命令。如果不加限制,恶意模块或有漏洞的 Web 页面可以利用这个接口执行危险操作(删除系统文件、窃取数据等)。

命令白名单就是在这个层面加的安全防线——只有白名单里的命令 KsuWebUI 才允许执行,其他一律拒绝。

白名单的工作原理

当 KsuWebUI 的 JavaScript 代码请求执行 shell 命令时:

  1. KsuWebUI 检查命令是否在白名单中
  2. 如果在 → 执行并返回结果
  3. 如果不在 → 拒绝并返回错误

这个检查发生在命令真正执行之前,即使命令里有 rm -rf 这样的危险操作也会被拦下。

常见在白名单中的命令

KsuWebUI 自身管理功能需要的命令通常包括:

不在白名单中的命令

以下类型的命令通常被禁止:

开发者注意

如果你在为 KsuWebUI 或模块的 WebUI 写 JavaScript,遇到命令被拒绝:

  1. 检查你用的命令是不是确实必要
  2. 看能不能换成白名单里已有的等价操作
  3. 实在需要特殊命令时,通过模块的 service.sh 来执行(不受 KsuWebUI 白名单限制)

白名单 vs 框架级安全

KsuWebUI 的白名单是额外的保护层,不替代底层 root 框架的安全机制:

两层都有效才能保证安全。

检查当前白名单

某些版本的 KsuWebUI 可能允许你在设置中查看当前的命令白名单。如果没有这个功能,白名单是硬编码在 KsuWebUI 中的,不能由用户修改。