Aufgaben zum Erstellen von Shellscripten

Um das komplette Script auf einem System mit mehreren User-Umgebungen zu testen, sollte mit Adminrechten gearbeitet werden.

Hinweise: Realisieren Sie zunächst jeden Punkt als einzelnes Script. Schaffen Sie sich eine entsprechende Testumgebung. (vgl. Punkte 2, 3, Erzeugen einiger Files z.Bsp. mit dem Kommando touch)

  1. Realisieren Sie folgenden Verzeichnisbaum unter Ihrem aktuellen Home-Verzeichnis per Shellscript.


  2. Alle Dateien aus dem Verzeichnis exe sollen für alle ausführbar sein. Lesen und Schreiben soll nur dem User und der Gruppe gestattet sein.
    Das Verzeichnis Privat soll mit entsprechenden Rechten geschützt werden. Firmendaten sind komplett offen für alle. Quellcode kann nur vom User geändert werden, seine Gruppe darf aber lesen und compilieren.

  3. Als Arbeitsverzeichnis dient das Verzeichnis Programme. Ordnung muss sein. Am Ende des Arbeitstages sollen alle temporären Dateien mit Endung .tmp gelöscht werden. Desweiteren müssen alle unter dem Verzeichnis Programme stehenden .c Files in das Verzeichnis Quellcode und alle .exe Files in das Verzeichnis exe. Der Rest wird gelöscht.

  4. Als Vorstufe für das Script in 5. sollen nun alle user des Systems in eine Datei user.dat gesichert werden. Die Datei habe den Aufbau:
    user1
    user2
    user3
    ....

    d.h. sie ist eine Auflistung der User. Hinweis und Beispiel: Beachten Sie die Ausgabe von ls -l |awk '{print $8}'
    die die lange Ausgabe von ls -l zurecht schneidet, will man mittels awk ein anderes Trennzeichen als das Leerzeichen verarbeiten, geht dies mit der Option awk -F
    Geben Sie das Kommando an, mit dem alle Dateien, die einem bestimmten user gehören, aus einem Listing ls -l herausgefiltert werden.

  5. Um die Ergebnisse des Arbeitstages zu dokumentieren werden vor der Sicherung am Ende des Tages alle *.c Files mit dem Altbestand des vorherigen Tages verglichen. In einem File Arbeitsergebnisse im Verzeichnis Firma wird ein Datensatz nach dem folgenden Muster abgelegt:
    Datum Name des Mitarbeiters anwesend JA/NEIN Aenderungen JA/NEIN

    falls Änderungen existieren wird dann der Unterschied als Ergebnis des Kommandos diff dokumentiert

  6. Erstellen Sie ein Auswahlmenü, das es ermöglicht einen der Punkte auszuwählen. Binden Sie dann die Scripte aus 1,2,3,5 ein.