Cover Image

linux shell skript immer als administrator ausführen

November 3, 2020 - Lesezeit: 78 Minuten

Problemstellung:
Wir haben ein Serverskript das wir immer als Administrator ausführen.
Dieses Skript führt ein Serverupdate bei uns durch.
Wenn das Skript nicht als Administrator ausgeführt, wird führt dies zu einem unvollständigen Update, da für bestimmte Dateien die Berechtigung fehlt.
Daraus resultiert unter Umständen eine unvollständige Installation.
Um eine Fehlerquelle auszuschließen haben wir nach einer Möglichkeit gesucht wie sichergestellt werden kann, dass das Skript immer als Administrator ausgeführt wird.

Lösung:

if [[ $EUID -ne 0 ]]; then
  sudo PATH/ScriptToExecute.sh
else
  #ScriptCode
fi

$EUID stellt die Identität des angemeldeten Users dar der für die Rechteprüfung genutzt wird hierbei hat er root Nutzer die 0.

-ne ist der Operator für ungleich

Das Skript prüft ob es sich bei dem angemeldeten Benutzer um den Root handelt.

Ist das nicht der Fall: Ruft sich das Skript erneut mit Rootrechten auf.