etc-passwd

Crates.ioetc-passwd
lib.rsetc-passwd
version0.2.1
sourcesrc
created_at2020-07-28 13:39:29.329532
updated_at2024-07-09 10:00:13.719611
descriptionGet user information stored in the password file `/etc/passwd`.
homepage
repositoryhttps://github.com/gifnksm/etc-passwd
max_upload_size
id270443
size31,750
NAKASHIMA, Makoto (gifnksm)

documentation

https://docs.rs/etc-passwd

README

etc-passwd

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

Get user information stored in the password file /etc/passwd.

This crate provides a safe wrapper for libc functions such as getpwnam_r(3) and getpwuid_r(3).

Usage

Add this to your Cargo.toml:

[dependencies]
etc-passwd = "0.2.1"

Examples

Get a current user information:

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?");
}

Minimum supported Rust version (MSRV)

The minimum supported Rust version is Rust 1.56.1. At least the last 3 versions of stable Rust are supported at any given time.

While a crate is pre-release status (0.x.x) it may have its MSRV bumped in a patch release. Once a crate has reached 1.x, any MSRV bump will be accompanied with a new minor version.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Commit count: 25

cargo fmt