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_STATIC
SELINUX_PATH
SELINUX_INCLUDE_DIR
SELINUX_LIB_DIR
CC
CFLAGS
动态或静态链接
如果可能,此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