3个版本
0.0.3 | 2022年1月19日 |
---|---|
0.0.2 | 2020年5月4日 |
0.0.1 | 2020年5月1日 |
16 在 #pam 中排名
每月下载量 21,474
在 2 个crate中使用(通过 pam)
5KB
90 行
pam - Linux可插拔认证模块(PAM)的Rust安全API
注意:目前仅支持基本用户名/密码认证。
警告
通过 env
模块的环境支持可能已损坏,不应在当前状态下使用!
用法
- 将
pam
添加到您的Cargo.toml
[dependencies]
pam = "0.7.0"
- 使用
Authenticator
结构体进行认证并打开会话
extern crate pam;
pub fn main() {
let service = "<yourapp>";
let user = "<user>";
let password = "<pass>";
let mut auth = pam::Authenticator::with_password(service).unwrap();
auth.handler_mut().set_credentials(user, password);
if auth.authenticate().is_ok() && auth.open_session().is_ok() {
println!("Successfully opened a session!");
}
else {
println!("Authentication failed =/");
}
}
待办事项
- 实现基本用户/密码认证
- 添加
Authenticator
结构体 - 添加(更多)文档
- 验证当前的
conv
是否不会泄漏内存 - 允许传递自定义的
conv
函数 - 代码清理
支持的Rust版本
该库仅在Rust稳定版、beta版和nightly版上进行持续构建,但由于它没有使用很多新语言特性,它可能在较老版本上也能编译。如果您在较老版本上遇到构建问题,并且可以应用一个小修复以使构建成功,请考虑提交一个pull request。
关于稳定性的说明
此crate遵循 语义版本控制。因此,所有小于 1.0.0
的版本应被视为开发版本。这意味着API可能会随时更改。
许可证
以下任一许可证下许可:
- Apache许可证2.0版(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任您选择。
贡献
除非您明确声明,否则根据Apache-2.0许可证定义的,您有意提交以包含在工作中的任何贡献,都应双许可如上所述,没有任何额外的条款或条件。
依赖项
~1.5MB
~35K SLoC