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)
.
Add this to your Cargo.toml
:
[dependencies]
etc-passwd = "0.2.1"
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?");
}
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.
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT)
at your option.
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.