A library for sandboxing and limiting command execution through Linux landlock
and prlimit
.
// Execute `bash -i` in the `/tmp/foo` directory using the provided rules
Command::new("bash")
.arg("-i")
.current_dir("/tmp/foo")
.env_clear()
.restrict(
Rules::new()
.add_read_only("/usr")
.add_read_only("/etc")
.add_read_only("/dev")
.add_read_only("/bin")
.add_read_write("/tmp/foo")
.into()
)
.max_memory(MemorySize::from_mb(100))
.spawn()?
.wait()?;