#!/bin/bash # info: adds action event to user or system log # options: LOG_TYPE USER # Event Levels: # info, warning, error # Event Categories: # user: web, dns, mail, db, letsencrypt, pwchange, pwreset # system: ip, firewall, service, updates, # users, pwchange, pwreset, impersonation #----------------------------------------------------------# # Variables & Functions # #----------------------------------------------------------# # Includes # shellcheck source=/etc/hestiacp/hestia.conf source /etc/hestiacp/hestia.conf # shellcheck source=/usr/local/hestia/func/main.sh source $HESTIA/func/main.sh # load config file source_conf "$HESTIA/conf/hestia.conf" #----------------------------------------------------------# # Verifications # #----------------------------------------------------------# # Argument definition user=$1 event_level=$2 export event_category=$3 event_details=$4 is_common_format_valid "$event_level" "event level" # Validate event type input if [ "$event_level" != "Info" ] && [ "$event_level" != "Warning" ] && [ "$event_level" != "Error" ]; then echo "Error: Invalid event type specified." exit 1 fi #----------------------------------------------------------# # Action # #----------------------------------------------------------# if [ "$user" = "system" ] || [ "$user" = "System" ]; then user="system" fi check_args '4' "$#" 'USER TYPE CATEGORY DETAILS' if [ "$user" != "system" ]; then is_format_valid 'user' is_object_valid 'user' 'USER' "$user" fi log_history "$event_details" '' "$user" #----------------------------------------------------------# # Hestia # #----------------------------------------------------------# exit