feat: use modular functions to ensure similar basic functionality
This commit is contained in:
parent
e584237006
commit
ba5af86f85
3 changed files with 664 additions and 0 deletions
56
nyx/bash/lib/sudo.sh
Normal file
56
nyx/bash/lib/sudo.sh
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
#echo "Debug - sudo.sh loaded"
|
||||
|
||||
|
||||
check_if_run_with_sudo() {
|
||||
log_debug_info "Checking if the script is being run with sudo or as root..."
|
||||
|
||||
# Check if running as root
|
||||
if [[ "$EUID" -eq 0 ]]; then
|
||||
log_error "This script must NOT be run as root or with sudo."
|
||||
log_debug_error "Detected EUID=0 (root). Please run as a normal user."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if running through sudo
|
||||
if [[ -n "$SUDO_USER" ]]; then
|
||||
log_error "This script must NOT be run with sudo."
|
||||
log_debug_error "Detected SUDO_USER='$SUDO_USER'. Run without sudo."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
log_verbose_ok "Sudo/root check passed. Running as a normal user: $USER"
|
||||
return 0
|
||||
}
|
||||
|
||||
get_sudo_ticket() {
|
||||
log_verbose_info "Checking if sudo rights are already available..."
|
||||
|
||||
# Check if sudo permissions are currently active
|
||||
if sudo -n true 2>/dev/null; then
|
||||
log_verbose_ok "Sudo rights are already active. No password required."
|
||||
return 0
|
||||
fi
|
||||
|
||||
log_info "Sudo permissions required. Prompting for password..."
|
||||
|
||||
# Attempt to refresh or request sudo credentials
|
||||
if sudo -v; then
|
||||
log_ok "Sudo rights successfully acquired."
|
||||
return 0
|
||||
else
|
||||
log_error "Failed to acquire sudo permissions. Incorrect password or sudo not available."
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
########################################################################
|
||||
#
|
||||
# Sudo/Root Handling Functions:
|
||||
# check_if_run_with_sudo
|
||||
# - Exits if the script is run as root or with sudo.
|
||||
#
|
||||
# get_sudo_ticket
|
||||
# - Checks if sudo permissions are cached.
|
||||
# - If not, prompts for password to acquire them.
|
||||
#
|
||||
########################################################################
|
||||
Loading…
Add table
Add a link
Reference in a new issue