SUDO

Programm um normalen Benutzern kontrolliert zu ermöglichen, einzelne Programme mit erhöhten Rechten ausführen zu können.

Installation

apt-get install sudo

Konfiguration

Standardkonfigurationsdatei: /etc/sudoers
Vorsicht, die Datei ist beim parsen sehr empfindlich.
Das nutzen von Domänengruppen ist bei Einbindung von Winbind auch möglich.
Wenn ein Programm in einem nichtpriviligierten Benutzerkontext ausgeführt werden soll (hier www-data), so muss als Zusatz der Benutzer mit angegeben werden; sonst läuft sudo auf einen Fehler.
Beispiel:
ermögliche allen Benutzern der Gruppe „EDVadmins“ das ausführen von folgenden Programmen:
starte svnadmin als Benutzer www-data ohne Passwortabfrage.
starte chown als root mit Passwortabfrage des Benutzers.
starte su -u www-data als root ohne Passwortabfrage.

...
%edvadmins   ALL = (www-data)NOPASSWD: /usr/sbin/svnadmin, (root)PASSWD: /bin/chown, NOPASSWD: /bin/su www-data 
...

Test

Melde Dich mit einem Account an der Mitglied der Gruppe „edvadmins“ ist.
Zeige Dir alle Dir möglichen sudo-Befehle an:

sudo -l

Führe die Befehle testweise aus:

cd
sudo -u www-data svnadmin
...
touch datei1
sudo chown www-data datei1
Password:eigenesPW
...
sudo su www-data


KommandoAliase definieren und benutzen:

den gewünschten Benutzer als root in die Gruppe sudo einfügen

usermod myuser -aG sudo

, dann visudo ausführen

...
Cmnd_Alias SRVMGMNT = /bin/systemctl
Cmnd_Alias PKGMGMNT = /usr/bin/dpkg, /usr/bin/apt-get, /usr/bin/apt-cache
Cmnd_Alias SHUTDOWN = /sbin/reboot, /sbin/poweroff, /usr/bin/kill
...
#%sudo  ALL=(ALL:ALL) ALL
%sudo ALL=(root)NOPASSWD: SHUTDOWN,PKGMGMNT,SRVMGMNT
...
Dateien bearbeiten
visudo -f /etc/sudoers/00-mysudofile1
Dateien testen
visudo -cf /etc/sudoers/00-mysudofile1
visudo -c