Einige Scripts benötigen root-Berechtigung. Auf Raspberry OS ist da in der Regel kein Problem, da sudo
keine Paßwortabfrage provoziert. Es empfiehlt sich jedoch auf Nummer Sicher zu gehen, für den Fall, daß sich die Einräge in der sudoer-Datei geändert werden oder die Scripts auf anderen Systemen getestet werden.
In der bash;
if [ $EUID != 0 ]; then
echo "I am not root."
exit 1
fi
Die Variable $EUID wird nur von der bash zur Verfügung gestellt. Der verläßlichere Aufruf kann über ìd -u
erfolgen
if [ $(id -u) != 0 ]; then
echo "I am not root!"
exit 1
fi
Bei allen Dateien oder Verzeichnissen, die mit root angelegt wurden, sind die Berechtigungen für den Betrieb falsch gesetzt! Dies muß mit sudo chown user:user <Datei>
oder mit `sudo chown -R user:user
Nun stellt sich die Frage, warum nicht einfach die sudoers-list von Raspian OS aus nutzen und sudo
im code verwenden?
Nun, das ist eine Möglichkeit – aber die Scripte werden auf anderen Systemen nicht wunschgemäß arbeiten – und wer weiß, wann dieser Zustand geändert wird? Weiter ist eine Fehlersuche so einiges schwerer.
Was bleibt, ist: