60 lines
1.4 KiB
Bash
Executable File
60 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/bash
|
|
|
|
# File: aideinit
|
|
#
|
|
# Description: This script initializes an AIDE DB and signs it
|
|
#
|
|
# Package: AniNIX/Sharingan
|
|
# Copyright: WTFPL
|
|
#
|
|
# Author: DarkFeather <ircs://aninix.net:6697/DarkFeather>
|
|
|
|
function usage() {
|
|
echo "Usage: $0 [ config reference ]"
|
|
exit $1
|
|
}
|
|
|
|
function main() {
|
|
### Initialize the DB
|
|
base="$1"
|
|
dbdir="$(grep -m 1 -E '^@@define DBDIR' "$base" | cut -f 3 -d ' ')"
|
|
dbin="$(grep -m 1 -E '^database_in' "$base" | cut -f 2 -d '=' | sed "s#file:...DBDIR.#${dbdir}#")"
|
|
dbout="$(grep -m 1 -E '^database_out' "$base" | cut -f 2 -d '=' | sed "s#file:...DBDIR.#${dbdir}#")"
|
|
|
|
# sudo chattr -i "$dbin"*
|
|
|
|
sudo aide -c "$base" -i 2>&1 | sudo tee "$dbin".out
|
|
sudo mv "$dbout" "$dbin"
|
|
sudo chmod 0644 "$dbin"
|
|
gpg -bs --output - "$dbin" | sudo tee "$dbin".sig &>/dev/null
|
|
sudo chown root: "$dbin"*
|
|
sudo chmod 0755 "$dbin"*
|
|
# sudo chattr +i "$dbin"*
|
|
}
|
|
|
|
### MAIN
|
|
if [ `basename "$0"` == "aideinit" ]; then
|
|
|
|
# Allow -h for helptext
|
|
if [ "$1" == '-h' ]; then
|
|
echo "Initializes an AIDE DB"
|
|
usage 0
|
|
else
|
|
|
|
# Find the config
|
|
if [ -z "${1}" ]; then
|
|
base='/etc/aide.conf'
|
|
else
|
|
base="/etc/aide/${1}.conf"
|
|
fi
|
|
if [ -f "$base" ]; then
|
|
main "$base"
|
|
else
|
|
|
|
# If it doesn't, explain and exit.
|
|
echo "$base does not exist"
|
|
usage 1
|
|
fi
|
|
fi
|
|
fi
|