ubuntuusers.de

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

Diese Revision wurde am 18. März 2012 15:13 von ubot erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Shell, Programmierung