4 个版本
0.1.2 | 2021年11月19日 |
---|---|
0.1.1 | 2021年11月19日 |
0.1.0 | 2020年12月9日 |
0.0.0 | 2020年12月7日 |
#335 in 操作系统
8KB
142 行
openbsd
OpenBSD 的 pledge(2) 和 unveil(2) 的 Rust 绑定。
用法
承诺
宏语法
use openbsd::pledge;
pledge!("stdio rpath exec")?; // only make promises
pledge!(_, "stdio rpath")?; // only make execpromises
pledge!("stdio", "stdio")?; // make both
assert!(pledge!("wpath").is_err()); // cannot increase permissions
函数语法
use openbsd::pledge::{pledge, pledge_promises, pledge_execpromises};
pledge_promises("stdio rpath exec")?; // only make promises
pledge_execpromises("stdio rpath")?; // only make execpromises
pledge("stdio", "stdio")?; // make both
assert!(pledge_promises("wpath").is_err()); // cannot increase permissions
揭露
宏语法
use openbsd::unveil;
unveil!("/path/to/file", "rw")?;
unveil!("/path/to/another/file", "r")?;
unveil!(); // disable further calls to unveil
assert!(unveil!("/", "rwxc").is_err());
函数语法
use openbsd::unveil;
unveil("/path/to/file", "rw")?;
unveil("/path/to/another/file", "r")?;
unveil::disable(); // disable further calls to unveil
assert!(unveil("/", "rwxc").is_err());