LANDRUN(1)

πŸ“¦
version 0.1.17 Β· 3 versions
, in ubuntu stonking

πŸ’… LANDRUN πŸ’…

okay bestie, so landrun(1) is a section 1 user command and it's literally the moment β€” it runs your program inside a Landlock sandbox and I'm obsessed. Sit down, grab a strawberry drink πŸ“, and let me tell you everything. no cap, every single flag, I promise.


✨ NAME ✨

landrun β€” run program in Landlock sandbox 🧚

that's it. that's the whole vibe. we put a little invisible fence around your process and let it live its life inside it. main character energy, but contained πŸ’œ


πŸ¦‹ DESCRIPTION πŸ¦‹

🌸 NAME: 🌸

landrun β€” Run a command in a Landlock sandbox

🌈 USAGE: 🌈

landrun [global options]

so like, you call it, you hand it global options, and it does the sandbox thing. that's the shape of it, periodt.

⭐ VERSION: ⭐

0.1.17

✨ iconic number, no notes ✨

πŸ‘‘ GLOBAL OPTIONS: πŸ‘‘

this is the good part. buckle up. --ro, --rw, --unix, --bind-tcp, --connect-tcp, --env β€” all of these can show up more than once, which is why they're written with the little [ ... ] repeat-y bit. slay.

  • --log-level string β€” set the logging level. your options are error, info, debug. default: "error". and yeah, it listens to the environment variable [$LANDRUN_LOG_LEVEL] too 🫢
  • --ro string [ --ro string ] β€” allow read-only access to this path πŸ“–
  • --rox string [ --rox string ] β€” allow read-only access with execution to this path. reading AND running, she contains multitudes ✨
  • --rw string [ --rw string ] β€” allow read-write access to this path ✍️
  • --rwx string [ --rwx string ] β€” allow read-write access with execution to this path. the full package, truly πŸ”₯
  • --unix string [ --unix string ] β€” allow connect(2)/sendmsg(2) on this pathname UNIX domain socket. heads up: this needs Landlock ABI v9+ 🧚
  • --bind-tcp int [ --bind-tcp int ] β€” allow binding to these TCP ports 🌐
  • --connect-tcp int [ --connect-tcp int ] β€” allow connecting to these TCP ports 🌐
  • --best-effort β€” use best effort mode, which means falling back to a less restrictive sandbox if necessary. default: false. lowkey a "we tried our best" situation, iykyk 😭
  • --env string [ --env string ] β€” environment variables to pass to the sandboxed command. give it KEY=VALUE, or just KEY to pass the current value πŸŽ€
  • --unrestricted-filesystem β€” allow unrestricted filesystem access. default: false πŸ‘€
  • --unrestricted-network β€” allow unrestricted network access. default: false πŸ‘€
  • --unrestricted-scoped β€” allow unrestricted IPC scoping, meaning don't restrict abstract UNIX sockets and signals. needs Landlock ABI v6+. default: false
  • --ignore-missing β€” gracefully ignore paths that do not exist instead of failing. default: false. she's forgiving πŸ’–
  • --log-disable-originating β€” disable audit logging of denials from the originating process. Landlock ABI v7+. default: false
  • --log-enable-subprocesses β€” enable audit logging of denials after execve(2) in subprocesses. Landlock ABI v7+. default: false
  • --log-disable-subdomains β€” disable audit logging of denials from nested Landlock domains. Landlock ABI v7+. default: false
  • --ldd β€” automatically detect and add library dependencies to --rox. default: false. lazy-girl automation and we love her for it πŸ’…
  • --add-exec β€” automatically add the executable path to --rox. default: false ✨
  • --help, -h β€” show help πŸ™‹
  • --version, -v β€” print the version 🏷️
heads up bestie β€” a bunch of these are gated on specific Landlock ABI versions (v6+, v7+, v9+). if your kernel isn't giving, you're not getting, so check before you assume, fr fr.

and that's the whole page, you ate it, mwah πŸ’‹

this was landrun 0.1.17-1, dated July 2026 πŸŽ€ go forth and sandbox responsibly, queen πŸ‘‘

πŸ“¦ where this page comes from