3个版本
使用旧的Rust 2015
0.1.2 | 2020年10月15日 |
---|---|
0.1.1 | 2016年4月7日 |
0.1.0 | 2016年4月7日 |
在Unix API 中排名第 921
每月下载量 21 次
9KB
187 行代码(不含注释)
seccomp
此库提供了对 libseccomp 的高级封装。
添加到 Cargo.toml
[dependencies]
seccomp = "0.1"
lib.rs
:
此软件包基于 seccomp_sys 并为 libseccomp 提供了一个高级封装。
示例用法
extern crate seccomp;
extern crate libc;
use seccomp::*;
fn main() {
let mut ctx = Context::default(Action::Allow).unwrap();
let rule = Rule::new(105 /* setuid on x86_64 */,
Compare::arg(0)
.with(1000)
.using(Op::Eq)
.build().unwrap(),
Action::Errno(libc::EPERM) /* return EPERM */
);
ctx.add_rule(rule).unwrap();
ctx.load().unwrap();
let ret = unsafe { libc::setuid(1000) };
println!("ret = {}, uid = {}", ret, unsafe { libc::getuid() });
}
依赖
~58KB