From: Oliver Laumann <net@informatik.uni-bremen.de>
To: fb3-t
Subject: sudo
Date: 27 Mar 1998 15:43:57 +0100

Ich habe heute sudo installiert, auf vielfachen Wunsch und weil wir es
auch wirklich gut gebrauchen koennen.

sudo erlaubt bestimmten Benutzern auf bestimmten Rechner einzelne
Kommandos als root (oder unter einer anderen User-ID) auszufuehren,
mit oder ohne Eingabe des persoenlichen Passwords.  Im README steht
dazu ``The basic philosophy is to give as few privileges as possible
but still allow people to get their work done.''

Wir muessen Benutzern also nicht mehr vollen root-Zugang geben, nur
damit sie ein einzelnes Kommando mit root-Permission ausfuehren
koennen.


Konfiguration von sudo
======================

Wer wo was ausfuehren darf, wird in dem Konfigurationsfile
/home/config/sudo/sudoers festgelegt.  Jede Benutzung von sudo
wird in /home/config/sudo/sudo.log und per syslog geloggt;
Fehler (z.B. fehlende Permission) werden zudem per E-Mail an
sudo-alert@informatik.uni-bremen.de geschickt (das bin im Moment ich;
wer rein will, bitte Bescheid sagen).

Im Moment gibt es erstmal ein minimales sudoers-File, das Mitarbeitern
der AG Rechnernetze die Benutzung von snoop und einigen MBone-Tools
auf den Rechnern der AG ermoeglicht.  Bitte sagt Bescheid, was noch
aufgenommen werden soll.  (Ich habe da schon so einige Ideen...)

Wer sudo nicht kennt, sollte "man sudoers" lesen; dort ist das
Format des Konfigurationsfiles beschrieben.


sudo und die Hostdatenbank
==========================

Da wir in "sudoers" nicht einzelne Rechner aufzaehlen moechten,
wird die Hostdatenbank verwendet, um in "sudoers" Mengen von Rechnern
auf komfortable Weise angeben zu koennen.

Das geht so:  Editiert wird nicht "sudoers", sondern "sudoers.in"
(ebenfalls in /home/config/sudo).  Daraus wird durch Aufruf von "make"
das eigentliche "sudoers" erzeugt (dies muss als root auf waigel
geschehen, weil das resultierende sudoers root gehoeren muss).

"sudoers.in" wird dabei nach "sudoers" kopiert, und alle Sequenzen
der Form [argumente] werden ersetzt durch das Resultat von

   /usr/local/bin/hostnames argumente

mit Leerzeichen ersetzt durch Komma.  In sudoers.in koennen also z.B.
Zeilen wie

   Host_Alias      RN=[org==+rn os=~solaris]

verwendet werden; dies wird von "make" expandiert zu

   Host_Alias      RN=ruin,regen,roman,daemon,dienstmann,doberman



Fragen, Probleme, Wuensche --> mail net@informatik.uni-bremen.de