Benutzer vor Abwegen im System bewahren

© © lightwise, 123RF

Benutzer gut geführt

Normal konfigurierte Desktops verwirren manche Anwender oder erlauben die Nutzung beliebiger Programme. Auch abseits der grafischen Benutzeroberfläche entlastet ein geführter Benutzer den EDV-Betreuer und sorgt für höhere Produktivität.
Security ist ein stets aktuelles Thema in der IT. Deshalb widmet sich das ADMIN-Magazin 04/2012 speziell Sicherheitsaspekten und gibt Antworten auf die Fragen: ... (mehr)

Typischerweise sollen Anwender auf Firmen-Desktops nicht alles machen können, was ihnen gerade einfällt. Dem schiebt normalerweise das gewohnte Unix-Rechtesystem einen Riegel vor. Der Zugriff auf Anwendungen kann aber für jeden Benutzer auch abseits der Gruppenzugehörigkeit im Dateisystem geregelt werden. Die Wartung und Pflege der Programme bleibt mit den hier im Artikel gezeigten Maßnahmen für den Systembetreuer im üblichen Rahmen. Betriebliche Gegebenheiten lassen sich in der IT abbilden.

Eines oder mehrere der genannten Szenarien sprechen für die Einschränkung des Programmzugriffs:

  • Personen ohne grundlegende EDV-Kenntnisse sollen einzelne Aufgaben am Rechner übernehmen.
  • Rechner mit sensiblen Anwendungen und Daten werden dadurch abgesichert, dass den Benutzern nur die nötigsten Programme auf den Desktop angeboten werden. Gegebenenfalls wird sogar der Shellzugriff entzogen, damit die Nutzung auf die angebotenen Programme beschränkt bleibt.
  • Einrichtung von Spezialbenutzern mit einer oder wenigen Aufgaben.
  • Datenschutz: Jeder Mitarbeiter kann nur die Programme benutzen, die er je nach seiner Rolle im Betrieb benötigt.
  • Vermeidung des Einschleppens eigener Programme (Spiele, Multimedia …..) auf die betriebliche EDV-Anlage.

Einen besonderen Anwendungsfall des "geführten" Benutzers stellt das Absetzen eines einzigen Kommandos dar. Befindet sich beispielsweise in einem Filialbetrieb kein Systembetreuer, kann trotzdem jemand vom örtlichen Personal einen Linuxserver nach Aufforderung herunterfahren (Benutzer »aus« ) oder neu starten. Die übliche Tastenkombination [Strg] + [Alt] + [Entf] wurde im Beispiel deaktiviert.

Für dieses Beispiel muss das Paket »sudo« installiert werden. Der Benutzer »aus« wird vom Administrator Root angelegt und bekommt anschließend einen Eintrag in der Datei »/etc/sudoers« . Hierzu sollte man unbedingt das Programm »visudo« benutzen, das die Syntax der Datei überprüft. Andernfalls sperrt man sich bei Syntaxfehlern leicht aus dem System aus, wenn man keinen extra Root-Account besitzt.

Der Benutzer »aus« soll von jedem Rechner aus dem lokalen Netzwerk den Server herunterfahren können. Damit nach Eingabe des Benutzerpasswortes der Anwender keine Chance hat, in den Genuss des Shellzugriffes zu kommen, wird auf die Eingabe des Kennwortes für den sudo-Zugriff verzichtet. Der Eintrag in »/etc/sudoers« lautet deshalb:

aus ALL = NOPASSWD: /sbin/init

Bei Debian und Derivaten davon liegen im Home-Verzeichnis der Benutzer die Dateien ».bashrc« und ».profile« sowie ».bash_logout« . Darin eingetragene Befehle werden in der Reihenfolge abgearbeitet, ».bash_logout« erst beim Abmelden des Benutzers. In ».bashrc« werden die Kommandos zum Herunterfahren des Systems und für die "Zwangsabmeldung" am Dateiende angehängt:

sudo /sbin/init 0
exit

Damit ist der Sonderbenutzer einsatzklar.

Dialoganwendung

Hier soll der eingeschränkte Benutzer eine einzige Anwendung ausführen. Sie wird direkt als Ersatz-Login-Shell gestartet, der entsprechende Eintrag in »/etc/passwd« lautet hierfür

inventur1:x:1012:1012:,,,:/home/inventur1:/home/inventur1/erfass.sh

Für Inventurarbeiten trägt »inventur1« per Hand oder Barcode-Leser eine Artikelnummer mit Stückzahl in eine Maske ein. Auch in diesem Beispiel soll der Anwender keinen direkten Shellzugriff erhalten. Das Problem liegt darin, die Tastenkombination [Strg] + [Z] abzufangen, welche die laufende Anwendung in den Hintergrund schiebt. Dies übernimmt das »trap« -Kommando. Wird die Tastenkombination ausgelöst, soll das Programm einfach weiterarbeiten. Dazu fügt man in das Shellskript die Zeile »trap '' 20« ein. Der Benutzer »inventur1« benutzt in Abbildung 1 die Tastenkombination [Strg] +Z, die aber durch diese Zeile ignoriert wird. Das Shellskript wird im Listing 1 gezeigt. Die Tastenkombination [Strg] + [C] beendet dieses kleine Programm.

Abbildung 1: Mit dem Trap-Befehl lässt sich in Shell-Skripten das Abbrechen einer Anwendung per

Listing 1

Spezialanwendung

 

Nutzung einer einzelnen GUI-Anwendung

Die Beschränkung für Benutzer, eine einzige GUI-Anwendung zu betreiben, funktioniert ähnlich wie beim vorigen Beispiel. Hier entfällt die Notwendigkeit, die Tastenkombination [Strg] + [Z] zu deaktivieren. Der Benutzer »surf« bekommt die Anwendung »opera« als Login-Shell (mit absoluter Pfadangabe) in »/etc/passwd« zugewiesen. Mittels »ssh« wird über das lokale Netzwerk zugegriffen. Abbildung 2 zeigt den begleitenden Verlauf auf der Shell und die Anwendung. Schließt der Benutzer die Anwendung, wird er abgemeldet.

Abbildung 2: Eine GUI-Anwendung kann auch als grafische Loginshell dienen.
comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023