#passwd #user-name #unix #home-dir #api-bindings #login-shell

etc-passwd

获取存储在密码文件 /etc/passwd 中的用户信息

4 个版本

0.2.1 2024 年 7 月 9 日
0.2.0 2022 年 7 月 18 日
0.1.1 2020 年 7 月 28 日
0.1.0 2020 年 7 月 28 日

#198 in Unix APIs

Download history 193/week @ 2024-05-03 206/week @ 2024-05-10 287/week @ 2024-05-17 135/week @ 2024-05-24 250/week @ 2024-05-31 230/week @ 2024-06-07 193/week @ 2024-06-14 219/week @ 2024-06-21 193/week @ 2024-06-28 203/week @ 2024-07-05 151/week @ 2024-07-12 97/week @ 2024-07-19 188/week @ 2024-07-26 174/week @ 2024-08-02 244/week @ 2024-08-09 207/week @ 2024-08-16

每月 834 次下载
用于 libside

MIT/Apache 许可协议

16KB
200 行代码(不包括注释)

etc-passwd

maintenance status: passively-maintained license crates.io docs.rs rust 1.56.1+ badge Rust CI codecov

获取存储在密码文件 /etc/passwd 中的用户信息。

此包提供了对如 getpwnam_r(3)getpwuid_r(3) 等libc函数的安全封装。

使用方法

将此添加到您的 Cargo.toml

[dependencies]
etc-passwd = "0.2.1"

示例

获取当前用户信息

use etc_passwd::Passwd;

if let Some(passwd) = Passwd::current_user()? {
    println!("current user name is: {}", passwd.name.to_str()?);
    println!("your user id is: {}", passwd.uid);
    println!("your group id is: {}", passwd.gid);
    println!("your full name is: {}", passwd.gecos.to_str()?);
    println!("your home directory is: {}", passwd.dir.to_str()?);
    println!("your login shell is: {}", passwd.shell.to_str()?);
} else {
    println!("oops! current user is not found... who are you?");
}

最低支持的 Rust 版本 (MSRV)

最低支持的 Rust 版本是 Rust 1.56.1。在任何时候,至少支持稳定 Rust 的最后 3 个版本。

当包处于预发布状态(0.x.x)时,它可能在修补版本中提高 MSRV。一旦包达到 1.x,任何 MSRV 提高都将伴随着新的小版本。

许可协议

许可协议为以下之一:

您可选择。

贡献

除非您明确声明,否则任何提交给作品以供包含的贡献,根据 Apache-2.0 许可协议定义,均应按上述方式双重许可,无需任何额外的条款或条件。

依赖项

~43KB