Add root check

This commit is contained in:
Jeevitha Kannan K S 2024-10-13 18:37:30 +05:30
parent 79eb752552
commit c997a3d89e
No known key found for this signature in database
GPG Key ID: 5904C34A2F7CE333
3 changed files with 18 additions and 0 deletions

11
Cargo.lock generated
View File

@ -510,6 +510,7 @@ dependencies = [
"portable-pty", "portable-pty",
"rand", "rand",
"ratatui", "ratatui",
"sudo",
"temp-dir", "temp-dir",
"tree-sitter-bash", "tree-sitter-bash",
"tree-sitter-highlight", "tree-sitter-highlight",
@ -1006,6 +1007,16 @@ dependencies = [
"syn", "syn",
] ]
[[package]]
name = "sudo"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "88bd84d4c082e18e37fef52c0088e4407dabcef19d23a607fb4b5ee03b7d5b83"
dependencies = [
"libc",
"log",
]
[[package]] [[package]]
name = "syn" name = "syn"
version = "2.0.77" version = "2.0.77"

View File

@ -30,6 +30,7 @@ tree-sitter-highlight = "0.24.2"
tree-sitter-bash = "0.23.1" tree-sitter-bash = "0.23.1"
anstyle = "1.0.8" anstyle = "1.0.8"
ansi-to-tui = "6.0.0" ansi-to-tui = "6.0.0"
sudo = "0.6.0"
zips = "0.1.7" zips = "0.1.7"
[build-dependencies] [build-dependencies]

View File

@ -36,6 +36,12 @@ struct Args {
} }
fn main() -> io::Result<()> { fn main() -> io::Result<()> {
if sudo::check() != sudo::RunningAs::User {
eprintln!("Error: This program is not intended to be run with elevated privileges.");
eprintln!("Please run this program as a regular user to ensure proper security and functionality.");
std::process::exit(1);
}
let args = Args::parse(); let args = Args::parse();
let mut state = AppState::new(args.theme, args.override_validation); let mut state = AppState::new(args.theme, args.override_validation);