pub struct Group {
pub name: String,
pub passwd: CString,
pub gid: Gid,
pub mem: Vec<String>,
}
Expand description
Representation of a Group, based on libc::group
Fields§
§name: String
Group name
passwd: CString
Group password
gid: Gid
Group ID
mem: Vec<String>
List of Group members
Implementations§
Source§impl Group
impl Group
unsafe fn members(mem: *mut *mut c_char) -> Vec<String>
Sourceunsafe fn from_anything<F>(f: F) -> Result<Option<Self>>
unsafe fn from_anything<F>(f: F) -> Result<Option<Self>>
§Safety
If f
writes to its *mut *mut libc::group
parameter, then it must
also initialize the value pointed to by its *mut libc::group
parameter.
Sourcepub fn from_gid(gid: Gid) -> Result<Option<Self>>
pub fn from_gid(gid: Gid) -> Result<Option<Self>>
Get a group by GID.
Internally, this function calls getgrgid_r(3)
§Examples
use nix::unistd::{Gid, Group};
// Returns an Result<Option<Group>>, thus the double unwrap.
let res = Group::from_gid(Gid::from_raw(0)).unwrap().unwrap();
assert!(res.name == "root");
Sourcepub fn from_name(name: &str) -> Result<Option<Self>>
pub fn from_name(name: &str) -> Result<Option<Self>>
Get a group by name.
Internally, this function calls getgrnam_r(3)
§Examples
use nix::unistd::Group;
// Returns an Result<Option<Group>>, thus the double unwrap.
let res = Group::from_name("root").unwrap().unwrap();
assert!(res.name == "root");
Trait Implementations§
impl Eq for Group
impl StructuralPartialEq for Group
Auto Trait Implementations§
impl Freeze for Group
impl RefUnwindSafe for Group
impl Send for Group
impl Sync for Group
impl Unpin for Group
impl UnwindSafe for Group
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more