extrasafe 项目教程
1. 项目的目录结构及介绍
extrasafe/
├── Cargo.toml
├── LICENSE
├── README.md
├── src/
│ ├── lib.rs
│ ├── error.rs
│ ├── syscalls.rs
│ ├── isolate.rs
│ ├── builtins.rs
│ ├── access.rs
│ └── macros.rs
├── tests/
│ └── integration_tests.rs
├── examples/
│ ├── simple.rs
│ ├── advanced.rs
│ └── complex.rs
└── docs/
└── usage.md
- Cargo.toml: 项目的配置文件,定义了项目的依赖、版本等信息。
- LICENSE: 项目的许可证文件。
- README.md: 项目的介绍文档。
- src/: 包含项目的源代码文件。
- lib.rs: 项目的主文件,定义了库的入口点。
- error.rs: 定义了项目的错误类型。
- syscalls.rs: 定义了与系统调用相关的功能。
- isolate.rs: 提供了隔离子进程的功能。
- builtins.rs: 内置规则集的定义。
- access.rs: 访问权限相关的辅助函数。
- macros.rs: 定义了一些宏,用于简化代码编写。
- tests/: 包含项目的测试文件。
- integration_tests.rs: 集成测试文件。
- examples/: 包含项目的示例代码。
- simple.rs: 简单示例。
- advanced.rs: 高级示例。
- complex.rs: 复杂示例。
- docs/: 包含项目的文档文件。
- usage.md: 使用说明文档。
2. 项目的启动文件介绍
项目的启动文件是 src/lib.rs
,这是整个库的入口点。它导入了其他模块,并提供了对外的接口。
// src/lib.rs
pub use error::*;
pub use syscalls::*;
pub use isolate::*;
pub use builtins::*;
pub use access::*;
pub use macros::*;
mod error;
mod syscalls;
mod isolate;
mod builtins;
mod access;
mod macros;
3. 项目的配置文件介绍
项目的配置文件是 Cargo.toml
,它定义了项目的依赖、版本、特性等信息。
[package]
name = "extrasafe"
version = "0.5.1"
edition = "2018"
license = "MIT"
[dependencies]
landlock = { version = "0.3", optional = true }
libc = "0.2"
seccompiler = "0.4"
syscalls = "0.6"
[dev-dependencies]
crossbeam = "0.8"
crossbeam-channel = "0.5"
crossbeam-queue = "0.3"
hyper = "0.14"
rusqlite = "0.26"
tempfile = "3"
tokio = "1.15"
warp = "0.3"
reqwest = "0.11"
[features]
default = ["landlock"]
- [package]: 定义了包的基本信息,如名称、版本、许可证等。
- [dependencies]: 定义了项目的依赖库及其版本。
- [dev-dependencies]: 定义了开发依赖库及其版本。
- [features]: 定义了项目的特性,如默认启用的特性。
以上是 extrasafe
项目的基本教程,涵盖了项目的目录结构、启动文件和配置文件的介绍。希望这些信息能帮助你更好地理解和使用该项目。