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