You've already forked rust-users
mirror of
https://github.com/uutils/rust-users.git
synced 2026-06-10 15:48:37 -07:00
fefddc4a76
The name() accessor is able to hide the fact that the user's actual name string is hidden in an Arc. (The Arc is still available, since it's needed for caching)
25 lines
762 B
Rust
25 lines
762 B
Rust
extern crate users;
|
|
use users::{Users, Groups, UsersCache};
|
|
|
|
fn main() {
|
|
let cache = UsersCache::new();
|
|
|
|
let current_uid = cache.get_current_uid();
|
|
println!("Your UID is {}", current_uid);
|
|
|
|
let you = cache.get_user_by_uid(current_uid).expect("No entry for current user!");
|
|
println!("Your username is {}", you.name());
|
|
|
|
let primary_group = cache.get_group_by_gid(you.primary_group_id()).expect("No entry for your primary group!");
|
|
println!("Your primary group has ID {} and name {}", primary_group.gid, primary_group.name);
|
|
|
|
if primary_group.members.is_empty() {
|
|
println!("There are no other members of that group.");
|
|
}
|
|
else {
|
|
for username in primary_group.members.iter() {
|
|
println!("User {} is also a member of that group.", username);
|
|
}
|
|
}
|
|
}
|