#unix #passwd #username #home-directory #login-shell

etc-passwd

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

2 releases

0.1.1 Jul 28, 2020
0.1.0 Jul 28, 2020

#193 in Unix APIs

Download history 2/week @ 2021-02-23 4/week @ 2021-03-02 2/week @ 2021-03-09 12/week @ 2021-03-23 16/week @ 2021-03-30 42/week @ 2021-04-06 20/week @ 2021-04-13 42/week @ 2021-04-20 11/week @ 2021-04-27 7/week @ 2021-05-04 2/week @ 2021-05-11 5/week @ 2021-05-18 2/week @ 2021-05-25 5/week @ 2021-06-01 7/week @ 2021-06-08

59 downloads per month

MIT/Apache

12KB
193 lines

Crates.io Docs.rs LICENSE Workflow Status Maintenance

etc-passwd

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

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.

Dependencies

~28KB