1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2018年3月11日

#8#libseccomp 中排名

26 每月下载量
用于 2 个 crate(通过 bigbro

LGPL-2.1

33KB
985 代码行数(不包括注释)

seccomp

此库为 libseccomp 提供了一个高级封装。

添加到 Cargo.toml

[dependencies]
seccomp-droundy = "0.1"

lib.rs:

此 crate 基于 seccomp_sys,并为 libseccomp 提供了一个高级封装。

示例用法

extern crate seccomp_droundy;
extern crate libc;

use seccomp_droundy::*;

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() });
}


依赖项

~710KB
~17K SLoC