银河麒麟V11或V10 SP1 2403+版本启用软件沙箱隔离,需先确认系统版本与gVisor服务状态,再安装kylin-gvisor-runtime组件,最后通过UKUI右键菜单、命令行gvisor-run或修改sandbox-policy.conf实现应用级或全局沙箱运行,并以ps和ls /proc/.../ns/验证隔离生效。

在银河麒麟桌面操作系统V11或V10 SP1 2403及以上版本中启用软件沙箱隔离,是为了让第三方应用(尤其是来源不明或权限过高的程序)在受限环境中运行,防止其读取主系统敏感文件、修改关键配置或横向渗透。该能力依赖系统内建的gVisor兼容层与UKUI安全策略模块协同工作,非所有安装镜像默认开启。
确认系统版本与沙箱支持状态
打开终端,执行:cat /etc/kylin-release → 查看输出中是否含 【V11】 或 【V10 SP1 2403】 及更高字样;若为V10早期SP1版本(如2309)、V10基础版或工业版,默认不提供用户级沙箱开关,需升级系统。
接着运行:systemctl is-active gvisor-sentry → 若返回 inactive,说明gVisor服务未部署,不可跳过下一步直接启用。
安装并启用gVisor运行时组件
银河麒麟V11已将gVisor封装为可选安全组件包,名称为 kylin-gvisor-runtime。
在终端中依次执行:
① sudo apt update
② sudo apt install kylin-gvisor-runtime -y
③ sudo systemctl enable --now gvisor-sentry gvisor-gofer
注意:此步骤必须使用管理员权限,且安装过程会自动配置cgroup v2和user_namespaces支持;若提示 Failed to start gvisor-sentry.service: Unit not found,说明当前镜像未集成该组件,需从麒麟软件官网下载对应架构(x86_64/ARM64)的离线deb包手动安装。
为指定应用启用沙箱运行模式
方法一:通过UKUI应用启动器右键菜单(仅限桌面环境已加载沙箱插件)
找到目标应用图标(如WPS Office、Chrome浏览器、某款国产PDF阅读器)→ 右键 → 选择“以沙箱模式运行” → 首次触发时系统将弹出权限确认框,勾选“始终为此应用启用沙箱”后点击确定。
方法二:命令行强制沙箱启动(适用于无图形入口或调试场景)
在终端中输入:gvisor-run --net=host --ro-bind /usr /usr --rw-bind $HOME $HOME /path/to/app-binary → 其中 --net=host 保留网络访问能力,--ro-bind 以只读方式挂载系统目录防篡改,--rw-bind 仅对用户主目录开放读写——这是保障隔离性又不失可用性的关键约束。
方法三:全局默认沙箱策略(高风险操作,仅建议测试环境启用)
编辑 /etc/kylin/security/sandbox-policy.conf → 将 default_mode = disabled 改为 default_mode = strict → 保存后执行 sudo kylin-security-reload → 此后所有未明确豁免的GUI应用均在Sentry内核中启动,部分依赖内核模块(如打印机驱动、录屏工具)可能无法正常工作。
验证沙箱是否生效
启动任一已设为沙箱模式的应用后,在终端运行:ps aux | grep sentry → 应能看到类似 /usr/bin/runsc --root /var/run/runsc state app-xxxx 的进程;再执行:ls /proc/$(pidof your-app)/ns/ | grep user → 若输出包含 user,表明该进程已处于独立用户命名空间,隔离成立。
若 ps 未查到runsc进程,或 ls /proc/.../ns/ 无user项,说明应用仍在宿主命名空间运行,需检查gVisor服务状态及应用绑定策略是否被UKUI策略引擎忽略。

















