Phase 1: Prepare sandbox restrictions **as root** (before `drop_privileges`). Opens Landlock `PathFds` while the process still has root privileges, ensuring paths like mode-700 directories are accessible.
(policy: &SandboxPolicy, workdir: Option<&str>)
| 23 | /// Opens Landlock `PathFds` while the process still has root privileges, |
| 24 | /// ensuring paths like mode-700 directories are accessible. |
| 25 | pub fn prepare(policy: &SandboxPolicy, workdir: Option<&str>) -> Result<PreparedSandbox> { |
| 26 | let landlock = landlock::prepare(policy, workdir)?; |
| 27 | Ok(PreparedSandbox { |
| 28 | landlock, |
| 29 | policy: policy.clone(), |
| 30 | }) |
| 31 | } |
| 32 | |
| 33 | /// Phase 2: Enforce prepared sandbox restrictions (after `drop_privileges`). |
| 34 | /// |
no outgoing calls