Struct nix::unistd::User  
pub struct User {    
    pub name: String,
    pub passwd: CString,
    pub uid: Uid,
    pub gid: Gid,
    pub gecos: CString,
    pub dir: PathBuf,
    pub shell: PathBuf,
}The portability is definied by: 
#[cfg(not(target_os = "redox"))]Documentation
Representation of a User, based on libc::passwd
The reason some fields in this struct are String and others are CString is because some
fields are based on the user’s locale, which could be non-UTF8, while other fields are
guaranteed to conform to NAME_REGEX, which only
contains ASCII.
Fields
pub name: StringUsername
pub passwd: CStringUser password (probably encrypted)
pub uid: UidUser ID
pub gid: GidGroup ID
pub gecos: CStringUser information
pub dir: PathBufHome directory
pub shell: PathBufPath to shell
Implementations
impl User
pub fn from_uid(uid: Uid) -> Result<Option<Self>>
Get a user by UID.
Internally, this function calls getpwuid_r(3)
Examples
use nix::unistd::{Uid, User};
// Returns an Result<Option<User>>, thus the double unwrap.
let res = User::from_uid(Uid::from_raw(0)).unwrap().unwrap();
assert!(res.name == "root");pub fn from_name(name: &str) -> Result<Option<Self>>
Get a user by name.
Internally, this function calls getpwnam_r(3)
Examples
use nix::unistd::User;
// Returns an Result<Option<User>>, thus the double unwrap.
let res = User::from_name("root").unwrap().unwrap();
assert!(res.name == "root");Trait Implementations
impl Debug for User
fn fmt(&Self, f: &mut $crate::fmt::Formatter<'_>) -> $crate::fmt::Resultimpl StructuralPartialEq for UserAuto Trait Implementations
impl RefUnwindSafe for Userimpl UnwindSafe for UserBlanket Implementations
impl<T> BorrowMut<T> for T
where
    T: ?Sized,
where
T: ?Sized,
fn borrow_mut(&mut Self) -> &mut T