privilege 0.3.0

Cross-platform library for administrative permission handling.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
use crate::user::Privilege;

pub fn get_privilege() -> Privilege {
    let uid = unsafe { libc::getuid() };
    let euid = unsafe { libc::geteuid() };

    match (uid, euid) {
        (0, 0) => Privilege::Root,
        (_, 0) => Privilege::Suid,
        (_, _) => Privilege::User,
    }
}