23个版本
| 0.6.10 | 2024年7月28日 |
|---|---|
| 0.6.9 | 2024年3月27日 |
| 0.6.8 | 2024年1月20日 |
| 0.6.7 | 2023年11月1日 |
| 0.2.0 | 2021年3月17日 |
#912 in Unix API
每月下载量13,148
在 8 个crate中使用(通过 selinux)
24KB
338 行
selinux-sys: 对 libselinux 的不安全Rust绑定
SELinux是Linux的灵活强制访问控制(MAC)。
该crate不公开任何已弃用或未记录的SELinux API函数和类型。
该crate针对Linux特定。在非Linux平台上构建或针对Linux内核构建会导致crate为空。
支持的环环境变量
该crate依赖于某些环境变量及其变体。对于每个环境变量(例如,CC),以下是接受的变体
<var>_<target>,例如,CC_aarch64-unknown-linux-gnu。<var>_<target-with-underscores>,例如,CC_aarch64_unknown_linux_gnu。TARGET_<var>,例如,TARGET_CC。<var>,例如,CC。
以下环境变量(及其变体)会影响此crate的构建方式
SELINUX_STATICSELINUX_PATHSELINUX_INCLUDE_DIRSELINUX_LIB_DIRCCCFLAGS
动态或静态链接
如果可能,此crate将动态链接到 libselinux,除非针对基于 musl C库的平台。
可以通过设置环境变量 SELINUX_STATIC 为 1 或启用crate功能 static 来更改此行为。如果两者都定义,则 SELINUX_STATIC 的值优先。
将SELINUX_STATIC设置为0强制使用动态链接。
查找SELinux库和头文件
默认情况下,该crate根据默认目标C编译器查找SELinux头文件和库。
可以通过以下方式更改此行为:
- 或者定义环境变量
SELINUX_PATH,将其设置为包含子目录include和lib的目录路径,其中安装了头文件和库。 - 或者定义一个或多个环境变量
SELINUX_INCLUDE_DIR和SELINUX_LIB_DIR,将其设置为头文件和库所在的目录路径。如果也定义了SELINUX_PATH,则SELINUX_INCLUDE_DIR和SELINUX_LIB_DIR优先。
依赖于此crate
此crate为其他依赖于它的crate提供了以下变量
DEP_SELINUX_INCLUDE:库C头文件所在的目录路径。DEP_SELINUX_LIB:库二进制所在的目录路径。
版本
本项目遵循语义版本控制。CHANGELOG.md文件详细说明了随时间的变化。
依赖
~0–2.7MB
~44K SLoC