Repolode
Zouuup

Zouuup/landrun

基于 Landlock 的轻量级命令行沙箱,无需 root 即可限制 Linux 进程的文件和网络访问。

可替代:Firejail

Star
2,322
Fork
55
未关闭 Issue
4
最近提交
6天前

这是什么?

Landrun 是一个命令行工具,基于 Landlock 内核安全模块,在沙箱中运行 Linux 进程。Landlock 允许非特权进程主动限制自身权限,因此 landrun 无需 root 权限、无需容器,也不需要编写 SELinux 或 AppArmor 策略文件。使用时只需在命令前加上 landrun,并列出该进程允许访问的路径和端口。

文件访问通过 --ro、--rw、--rox、--rwx 等参数按路径设置,网络访问通过 --bind-tcp、--connect-tcp、--bind-udp、--connect-udp 按端口设置。此外还支持 UNIX 域套接字连接控制、抽象 UNIX 套接字与信号的作用域限制,以及对 Landlock 拒绝事件的审计日志。功能取决于内核版本:TCP 网络限制需要 Linux 6.7 及以上,UDP 限制需要 7.2 及以上;使用 --best-effort 参数可在旧内核上自动降级。

若未指定任何规则且未开启无限制选项,landrun 会拒绝全部访问。除非通过 --env 显式传入,否则环境变量不会传递给被运行的进程。

核心功能

  • 01无需 root 权限或容器,即可在 Landlock 沙箱中运行任意 Linux 命令。
  • 02按文件或目录分别控制读、写和执行权限。
  • 03按端口或端口范围限制 TCP 和 UDP 的绑定与连接。
  • 04支持 UNIX 域套接字路径访问控制和 IPC 作用域限制。
  • 05在支持的内核上记录 Landlock 拒绝事件,便于审计。
  • 06通过 --best-effort 在旧内核上平滑降级。

适用场景

  • 限制不可信的构建脚本或第三方二进制文件,使其无法读取敏感信息或访问网络。
  • 运行 Web 服务或守护进程,仅开放其配置、日志和网站目录。
  • 将某个命令行工具限制在指定端口或单个数据库套接字上。
  • 在 systemd 服务中加固进程权限,无需编写完整的容器或强制访问控制策略。

标签

常见问题

landrun 是什么?
基于 Landlock 的轻量级命令行沙箱,无需 root 即可限制 Linux 进程的文件和网络访问。 Landrun 是一个命令行工具,基于 Landlock 内核安全模块,在沙箱中运行 Linux 进程。Landlock 允许非特权进程主动限制自身权限,因此 landrun 无需 root 权限、无需容器,也不需要编写 SELinux 或 AppArmor 策略文件。使用时只需在命令前加上 landrun,并列出该进程允许访问的路径和端口。
landrun 可以免费使用吗?用的什么许可证?
landrun 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
landrun 还在维护吗?
活跃维护中。landrun 最近一次提交是在 2026年10月16日。
landrun 适合用来做什么?
限制不可信的构建脚本或第三方二进制文件,使其无法读取敏感信息或访问网络。 运行 Web 服务或守护进程,仅开放其配置、日志和网站目录。 将某个命令行工具限制在指定端口或单个数据库套接字上。 在 systemd 服务中加固进程权限,无需编写完整的容器或强制访问控制策略。
在哪里获取 landrun?
源代码和安装说明在 GitHub 上:https://github.com/Zouuup/landrun

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目