ubuntuusers.de

Hinweis: Dies ist ein statischer Snapshot unseres Wikis vom 25. März 2013 und kann daher nicht bearbeitet werden. Der aktuelle Artikel ist unter wiki.ubuntuusers.de zu finden.

Rootrun

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

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.

Shell / Bash

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 {de} anschauen.

Python

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'

Perl

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";

ubuntuusers.local › WikiSkripteRootrun