Feat: Logging mit Abfrage.
This commit is contained in:
89
0_Setup.sh
89
0_Setup.sh
@@ -2,50 +2,63 @@
|
||||
|
||||
# Root-Rechte prüfen
|
||||
if [ "$(id -u)" -ne 0 ]; then
|
||||
echo "Bitte mit sudo ausführen!"
|
||||
echo "❌ Bitte als root ausführen!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
apt update && apt upgrade -y
|
||||
apt install -y git sudo 7zip unrar unzip network-manager software-properties-common tree bluetooth
|
||||
apt install -y git sudo 7zip unrar unzip network-manager software-properties-common tree bluetooth wget curl
|
||||
|
||||
# Der Code, der eingefügt werden soll
|
||||
CONFIG_BLOCK='if groups | grep -q "\bsudo\b"; then
|
||||
case ":$PATH:" in
|
||||
*":/sbin:"*) ;;
|
||||
*) export PATH="$PATH:/sbin" ;;
|
||||
esac
|
||||
case ":$PATH:" in
|
||||
*":/usr/sbin:"*) ;;
|
||||
*) export PATH="$PATH:/usr/sbin" ;;
|
||||
esac
|
||||
fi'
|
||||
# sbin in Path
|
||||
read -p "❓ Soll sbin für sudo-Nutzer in den PATH aufgenommen werden? (j/n) [n]: " answer
|
||||
answer=${answer,,} # In Kleinbuchstaben umwandeln
|
||||
answer=${answer:-n} # Standardwert 'n', falls leer
|
||||
|
||||
# Saubere Lösung über /etc/profile.d/
|
||||
echo "$CONFIG_BLOCK" >/etc/profile.d/custom_path.sh
|
||||
|
||||
# Sudo-Hinweis für bash.bashrc
|
||||
SUDO_HINT_BLOCK='# sudo hint
|
||||
if [ ! -e "$HOME/.sudo_as_admin_successful" ] && [ ! -e "$HOME/.hushlogin" ] ; then
|
||||
case " $(groups) " in *\ admin\ *|*\ sudo\ *)
|
||||
if [ -x /usr/bin/sudo ]; then
|
||||
cat <<-EOF
|
||||
To run a command as administrator (user "root"), use "sudo <command>".
|
||||
See "man sudo_root" for details.
|
||||
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
|
||||
cat << 'EOF' > /etc/profile.d/sbin_in_path.sh
|
||||
if groups | grep -q "\bsudo\b"; then
|
||||
case ":$PATH:" in
|
||||
*":/sbin:"*) ;;
|
||||
*) export PATH="$PATH:/sbin" ;;
|
||||
esac
|
||||
case ":$PATH:" in
|
||||
*":/usr/sbin:"*) ;;
|
||||
*) export PATH="$PATH:/usr/sbin" ;;
|
||||
esac
|
||||
fi
|
||||
EOF
|
||||
fi
|
||||
esac
|
||||
fi'
|
||||
|
||||
# Prüfen, ob der sudo-Hinweis bereits existiert
|
||||
if ! grep -Fxq "# sudo hint" /etc/bash.bashrc; then
|
||||
echo -e "\n$SUDO_HINT_BLOCK" | tee -a /etc/bash.bashrc >/dev/null
|
||||
echo "Sudo-Hinweis zur bash.bashrc hinzugefügt."
|
||||
else
|
||||
echo "Sudo-Hinweis ist bereits in bash.bashrc vorhanden."
|
||||
echo "ℹ️ sbin wurde zum PATH für sudo-Nutzer hinzugefügt."
|
||||
fi
|
||||
|
||||
XDG_BLOCK='# /etc/profile.d/desktop_session_xdg_dirs.sh - Prepend a $DESKTOP_SESSION-named directory to $XDG_CONFIG_DIRS and $XDG_DATA_DIRS
|
||||
# sudo-Hinweis
|
||||
read -p "❓ Soll ein sudo-Hinweis hinzugefügt werden? (j/n) [n]: " answer
|
||||
answer=${answer,,} # In Kleinbuchstaben umwandeln
|
||||
answer=${answer:-n} # Standardwert 'n', falls leer
|
||||
|
||||
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
|
||||
cat << 'EOF' > /etc/profile.d/sudo_hint.sh
|
||||
if [ ! -e "$HOME/.sudo_as_admin_successful" ] && [ ! -e "$HOME/.hushlogin" ] ; then
|
||||
case " $(groups) " in *\ admin\ *|*\ sudo\ *)
|
||||
if [ -x /usr/bin/sudo ]; then
|
||||
echo 'To run a command as administrator (user "root"), use "sudo <command>".'
|
||||
echo 'See "man sudo_root" for details.'
|
||||
fi
|
||||
esac
|
||||
fi
|
||||
EOF
|
||||
|
||||
echo "ℹ️ sudo-Hinweis wurde hinzugefügt!"
|
||||
fi
|
||||
|
||||
# sudo-Hinweis
|
||||
read -p "❓ Sollen die XDG-Data-Dirs gesetzt werden? (j/n) [n]: " answer
|
||||
answer=${answer,,} # In Kleinbuchstaben umwandeln
|
||||
answer=${answer:-n} # Standardwert 'n', falls leer
|
||||
|
||||
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
|
||||
cat << 'EOF' > /etc/profile.d/xdg_dirs_desktop_session.sh
|
||||
# /etc/profile.d/desktop_session_xdg_dirs.sh - Prepend a $DESKTOP_SESSION-named directory to $XDG_CONFIG_DIRS and $XDG_DATA_DIRS
|
||||
|
||||
DEFAULT_XDG_CONFIG_DIRS="/etc/xdg"
|
||||
DEFAULT_XDG_DATA_DIRS="/usr/local/share/:/usr/share/"
|
||||
@@ -70,9 +83,11 @@ if [ -n "$DESKTOP_SESSION" ]; then
|
||||
export XDG_DATA_DIRS
|
||||
fi
|
||||
fi
|
||||
'
|
||||
EOF
|
||||
|
||||
echo "$XDG_BLOCK" >/etc/profile.d/xdg_dirs_desktop_session.sh
|
||||
echo "ℹ️ XDG-Data-Dirs wurden gesetzt!"
|
||||
fi
|
||||
|
||||
echo "Fertig! Bitte neu einloggen."
|
||||
chmod +x /etc/profile.d/*
|
||||
|
||||
echo "✅ Abgeschlossen. Zum Anwenden der Änderungen bitte neu einloggen!"
|
||||
|
||||
Reference in New Issue
Block a user