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

Download history 4696/week @ 2024-05-03 3106/week @ 2024-05-10 3670/week @ 2024-05-17 3142/week @ 2024-05-24 3102/week @ 2024-05-31 1365/week @ 2024-06-07 2720/week @ 2024-06-14 3600/week @ 2024-06-21 5479/week @ 2024-06-28 4188/week @ 2024-07-05 2414/week @ 2024-07-12 4092/week @ 2024-07-19 3000/week @ 2024-07-26 2888/week @ 2024-08-02 3150/week @ 2024-08-09 2583/week @ 2024-08-16

每月下载量13,148
8 个crate中使用(通过 selinux

MIT 协议

24KB
338

crates.io docs.rs license

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_STATIC1 或启用crate功能 static 来更改此行为。如果两者都定义,则 SELINUX_STATIC 的值优先。

SELINUX_STATIC设置为0强制使用动态链接。

查找SELinux库和头文件

默认情况下,该crate根据默认目标C编译器查找SELinux头文件和库。

可以通过以下方式更改此行为:

  • 或者定义环境变量SELINUX_PATH,将其设置为包含子目录includelib的目录路径,其中安装了头文件和库。
  • 或者定义一个或多个环境变量SELINUX_INCLUDE_DIRSELINUX_LIB_DIR,将其设置为头文件和库所在的目录路径。如果也定义了SELINUX_PATH,则SELINUX_INCLUDE_DIRSELINUX_LIB_DIR优先。

依赖于此crate

此crate为其他依赖于它的crate提供了以下变量

  • DEP_SELINUX_INCLUDE:库C头文件所在的目录路径。
  • DEP_SELINUX_LIB:库二进制所在的目录路径。

版本

本项目遵循语义版本控制CHANGELOG.md文件详细说明了随时间的变化。

依赖

~0–2.7MB
~44K SLoC