LibrePortal/scripts/install/install_ufwd.sh
librelad 014d8e5fcc refactor(de-sudo): funnel genuine system commands through runSystem
Foundation for a scoped sudoers: route every genuine system-admin command
(systemctl/ufw/ufw-docker/nft/apt/apt-get/pacman/sysctl/useradd/usermod/
service/wg/wg-quick/cscli/loginctl) through runSystem instead of raw sudo
across 28 active scripts. runSystem is 'sudo "$@"' so this is byte-identical
in every mode (safe on live installs) — it just collects all real-root use at
one chokepoint that will define the eventual /etc/sudoers.d allowlist.

Also: revert a crowdsec advice message the sweep wrongly rewrote (the admin
types sudo, not runSystem), and give crontab_check_processor.sh the same
startup bootstrap as the task processor — it runs standalone via cron and
already used runFileOp/runFileWrite (undefined there), so it was silently
broken; now it sources the helpers + docker-type config.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Signed-off-by: librelad <librelad@digitalangels.vip>
2026-05-24 15:21:53 +01:00

40 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
installUFWDocker()
{
if [[ "$CFG_REQUIREMENT_UFWD" == "true" ]]; then
if [[ $CFG_DOCKER_INSTALL_TYPE == "rooted" ]]; then
if [[ "$ISUFWD" == *"command not found"* ]]; then
isHeader "Install UFW-Docker"
((menu_number++))
echo ""
echo "---- $menu_number. Installing using linux package installer"
echo ""
local ufwpath="/usr/local/bin/ufw-docker"
local result=$(sudo wget -O $ufwpath https://github.com/chaifeng/ufw-docker/raw/master/ufw-docker > /dev/null 2>&1)
checkSuccess "Downloading UFW Docker installation files"
local result=$(sudo rm -rf $script_dir/wget-log)
checkSuccess "Setting permissions for install files"
local result=$(sudo chmod +x $ufwpath)
checkSuccess "Setting permissions for install files"
local result=$(runSystem ufw-docker install > /dev/null 2>&1)
checkSuccess "Installing UFW Docker"
local result=$(runSystem systemctl restart ufw)
checkSuccess "Restarting UFW Firewall service"
isSuccessful "UFW-Docker has been installed, you can use ufw-docker to see the available commands"
echo ""
echo ""
cd
fi
fi
fi
}