Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
Manchmal möchte man, dass ein Skript nur mit Root-Rechten ausgeführt werden kann. Dies kann man mit einem der folgenden Code-Schnippsel auf dem eigenen Skript heraus prüfen.
Mit der Bash kann man das sehr einfach überprüfen:
1 2 3 4 5 6 | #!/bin/sh if [ $(id -u) -ne 0 ]; then echo "Skript muss als Root gestartet werden" exit fi echo "Dieser Code wird nur ausgeführt, wenn das Skript Root Rechte hat" |
Zusätzlich sollte man sich auch das Shellskript-Template anschauen.
In Python kann man die Funktion geteuid
aus dem Modul os verwenden.
1 2 3 4 5 6 7 8 | #!/usr/bin/env python import os import sys if os.geteuid(): sys.exit('Dieses Skript muss als root gestartet werden') print 'Dieser Code kann nur mit Root-Privilegien ausgeführt werden' |
In Perl gibt es die Spezialvariable $<
die die UID des Aufrufers enthält.
1 2 3 4 | #!/usr/bin/perl -w die "Skript muss als Root gestartet werden.\n" if $<; print "Dieser Code wird nur ausgeführt, wenn das Skript Root Rechte hat\n"; |
Diese Revision wurde am 18. März 2012 15:13 von ubot erstellt.