fix geteuid
This commit is contained in:
Generated
+7
@@ -30,6 +30,12 @@ dependencies = [
|
||||
"hashbrown",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.186"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66"
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.106"
|
||||
@@ -160,6 +166,7 @@ name = "zfs_backup"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"libc",
|
||||
"serde",
|
||||
"toml",
|
||||
]
|
||||
|
||||
@@ -5,5 +5,6 @@ edition = "2024"
|
||||
|
||||
[dependencies]
|
||||
anyhow = "1.0.98"
|
||||
libc = "0.2.186"
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
toml = "0.9.2"
|
||||
|
||||
+3
-3
@@ -1,8 +1,8 @@
|
||||
use std::env;
|
||||
use std::io::stdin;
|
||||
|
||||
use anyhow::{Context, Result, bail};
|
||||
|
||||
use libc::geteuid;
|
||||
use zfs_backup::cmd::zfs::zpool_import;
|
||||
use zfs_backup::config;
|
||||
use zfs_backup::encryption;
|
||||
@@ -119,8 +119,8 @@ fn ask_user_confirmation(todos: &Vec<todo::Todo>) -> Result<bool> {
|
||||
}
|
||||
|
||||
fn verify_running_as_root() -> Result<()> {
|
||||
let uid = env::var("USER")?;
|
||||
if uid != "root" {
|
||||
let uid = unsafe { geteuid() };
|
||||
if uid != 0 {
|
||||
bail!("must be run as root")
|
||||
}
|
||||
Ok(())
|
||||
|
||||
Reference in New Issue
Block a user