1.3 KiB
1.3 KiB
node-addon-landlock-run
English | 中文
用于在 Linux 上限制子进程的 Landlock「先限制自身、再执行」启动器:此入口包解析每平台预构建二进制文件,运行功能性强制执行探测,并构建其授权 argv。消费方无需自行拼写启动器标志或解析启动器输出。
import { grantArgs, launcherPath, probe } from 'node-addon-landlock-run';
const launcher = launcherPath();
if (probe(launcher) !== 'unusable') {
const argv = [launcher, ...grantArgs({ readOnly: ['/'], readWrite: ['/tmp/work'] }), '--', 'bash', '-c', command];
}
启动器在自身上安装 Landlock 规则集,再 exec 被包装的命令;该规则集会跨 execve 继承,因此整个进程树都在限制下运行。未授予的一切都被拒绝;启动器失败时以 125 退出且不运行命令:始终失败闭合,绝不失败开放。二进制契约锁定在仓库的 docs/cli-contract.md 中;C 源码作为 src/main.c 随该 tarball 分发,便于审计。
平台包(由 os/cpu 选择的可选依赖,内部不含 JavaScript):node-addon-landlock-run-linux-x64、node-addon-landlock-run-linux-arm64。在缺少对应包的宿主上,launcherPath() 返回确定且不存在的路径,probe() 报告 'unusable';系统有意不提供安装时编译回退。