2.5.4 Systemverwaltung

Übersicht über die Befehle auf dieser Seite (in fett bedeutet prüfungsrelevant):

Befehl Beispiel Beschreibung
clear clear Löscht das Terminalfenster
timedatectl timedatectl status Zeigt den aktuellen Zeit- und Datumsstatus an
systemctl systemctl start dienst Startet einen Dienst
service service dienst start Startet einen Dienst
adduser adduser benutzer Legt einen neuen Benutzer an
passwd passwd benutzer Ändert das Passwort eines Benutzers
sudo sudo befehl Führt einen Befehl als Superuser aus
su su - Wechselt zum Superuser
reboot reboot Startet das System neu (keine gute Idee auf unserem VServer!)
shutdown shutdown -h now Fährt das System sofort herunter (keine gute Idee auf unserem VServer!)
halt halt Stoppt das System sofort (keine gute Idee auf unserem VServer!)

Befehl "clear"

Der Befehl clear wird verwendet, um den Inhalt des Terminalfensters zu löschen und es aufgeräumt erscheinen zu lassen. Dies kann nützlich sein, um die Übersichtlichkeit zu erhöhen, insbesondere nach der Ausgabe vieler Befehle.

Aufgabe

  • Geben Sie mehrere Befehle ein und verwenden Sie dann clear, um den Bildschirm zu löschen.

Befehle "timedatectl"

Der Befehl timedatectl wird verwendet, um die Zeit und das Datum des Systems zu verwalten. Er kann verwendet werden, um die aktuelle Zeit anzuzeigen, die Zeitzone zu ändern und vieles mehr.

Beispiele

  • timedatectl: Zeigt den aktuellen Zeit- und Datumsstatus an.
  • timedatectl list-timezones: Listet alle verfügbaren Zeitzonen auf.
  • timedatectl set-timezone Europe/Berlin: Ändert die Zeitzone auf Europe/Berlin.
  • timedatectl: Überprüft erneut den aktuellen Zeit- und Datumsstatus, um sicherzustellen, dass die Zeitzone geändert wurde.

Aufgabe

  • Zeigen Sie die aktuelle Zeit und das Datum mit timedatectl an.
  • Listen Sie alle verfügbaren Zeitzonen auf.
  • Ändern Sie die Zeitzone auf Europe/Berlin und überprüfen Sie die Änderung.

Befehle "systemctl" und "service"

Der Befehl systemctl wird verwendet, um Systemdienste zu verwalten. Der Befehl service bietet eine ähnliche Funktionalität, wird jedoch in einigen Distributionen nicht mehr bevorzugt.

Beispiele

  • systemctl start apache2: Startet den Apache2-Dienst.
  • systemctl stop apache2: Stoppt den Apache2-Dienst.
  • systemctl status apache2: Zeigt den Status des Apache2-Dienstes an.

Aufgabe

  • Starten Sie den Apache2-Dienst mit systemctl.
  • Überprüfen Sie den Status des Apache2-Dienstes.
  • Stoppen Sie den Apache2-Dienst und überprüfen Sie erneut den Status.

Befehle "adduser", "passwd", "sudo" und "su"

Der Befehl adduser wird verwendet, um einen neuen Benutzer hinzuzufügen.

Der Befehl passwd wird verwendet, um das Passwort eines Benutzers zu ändern.

Der Befehl sudo ermöglicht es einem Benutzer, Befehle als Superuser oder ein anderer Benutzer auszuführen.

Der Befehl su wird verwendet, um die Sitzung eines anderen Benutzers zu übernehmen, standardmäßig die des Superusers.

Beispiele

  • adduser benutzer: Legt einen neuen Benutzer an.
  • passwd benutzer: Ändert das Passwort des Benutzers benutzer.
  • sudo befehl: Führt den angegebenen Befehl als Superuser aus.
  • su -: Wechselt zum Superuser.

Aufgabe

  • Legen Sie einen neuen Benutzer mit Ihrem Vornamen an.
  • Ändern Sie das Passwort des neu erstellten Benutzers.
  • Führen Sie einen Befehl als Superuser mit sudo aus.
  • Wechseln Sie zur Superuser-Sitzung mit su -.

Was passiert eigentlich, wenn man mit adduser einen User anlegt? Hier mal am Beispiel eines Users "joerg"

  • In der Datei /etc/passwd wird ein neuer Eintrag mit den grundlegenden Einstellungen angelegt. passwd
  • In der Datei /etc/shadow wird das Passwort verschlüsselt gespeichert.
  • In der Datei /etc/group wird eine neue Gruppe "joerg" angelegt. Standardmäßig erstellt adduser eine primäre Gruppe mit demselben Namen wie der Benutzer. Wenn man für alle User dieselbe Gruppe z.B. "hochschule" verwenden möchte dann geht dies mit adduser joerg --ingroup hochschule
  • Es wird ein Heimatverzeichnis unter /home/joerg angelegt und darin werden die Konfigurationsdateien aus /etc/skel kopiert.

Befehle "reboot", "shutdown" und "halt"

Der Befehl reboot startet das System neu. shutdown fährt das System herunter, und halt stoppt das System sofort. Diese Befehle sollten auf einem virtuellen Server nicht verwendet werden, da Sie ja auf einem virtuellen Server keinen "Einschaltknopf" für ein Systemstart haben.

Beispiele

  • reboot: Startet das System neu.
  • shutdown -h now: Fährt das System sofort herunter.
  • halt: Stoppt das System sofort.

Übung

In diesem Spiel werden wir die Befehle und Konzepte aus den bisherigen Kapiteln miteinander verbunden. Das Ziel ist es, verschiedene Aufgaben zu lösen, um die erlernten Befehle und Konzepte zu festigen.

Spielaufgabe

  • Erstellen Sie einen neuen Benutzer namens spiel.
  • Legen Sie ein Verzeichnis projekt im Home-Verzeichnis von spiel an.
  • Erstellen und bearbeiten Sie Dateien in projekt.
  • Verwenden Sie verschiedene Befehle, um Dateien zu kopieren, zu verschieben und zu verknüpfen.
  • Zeigen Sie Systeminformationen an und verwalten Sie Systemdienste.
  • Löschen Sie Dateien und Verzeichnisse und räumen Sie das Terminalfenster auf.

Hier der Ablauf im Detail

  1. Benutzer anlegen

    • Legen Sie einen neuen Benutzer namens spiel an.
    • Setzen Sie ein Passwort für den Benutzer spiel.
    sudo adduser spiel
    sudo passwd spiel
    
  2. Verzeichnisse und Dateien erstellen

    • Melden Sie sich als Benutzer spiel an.
    • Erstellen Sie im Home-Verzeichnis von spiel ein Verzeichnis namens projekt.
    • Wechseln Sie in das Verzeichnis projekt und erstellen Sie eine leere Datei namens datei1.txt.
    su - spiel
    mkdir ~/projekt
    cd ~/projekt
    touch datei1.txt
    
  3. Dateien bearbeiten und anzeigen

    • Öffnen Sie die Datei datei1.txt im Nano- oder Joe-Texteditor und fügen Sie etwas Text hinzu.
    • Zeigen Sie den Inhalt der Datei mit cat an.
    • Fügen Sie eine zweite Zeile hinzu und zeigen Sie den Inhalt mit more an.
    nano datei1.txt
    cat datei1.txt
    echo "Weitere Zeile" >> datei1.txt
    more datei1.txt
    
  4. Dateien kopieren und verschieben

    • Kopieren Sie datei1.txt nach datei2.txt.
    • Verschieben Sie datei2.txt in das Verzeichnis projekt und benennen Sie sie in backup.txt um.
    cp datei1.txt datei2.txt
    mv datei2.txt backup.txt
    
  5. Dateien verknüpfen

    • Erstellen Sie einen symbolischen Link namens link_zu_datei1 auf datei1.txt.
    • Erstellen Sie einen Hardlink namens hardlink_zu_backup auf backup.txt.
    ln -s datei1.txt link_zu_datei1
    ln backup.txt hardlink_zu_backup
    
  6. Systeminformationen anzeigen

    • Zeigen Sie die aktuelle Zeit und das Datum mit timedatectl an.
    • Überprüfen Sie den Status des Apache2-Dienstes mit systemctl.
    timedatectl
    sudo systemctl status apache2
    
  7. Dateien und Verzeichnisse löschen

    • Löschen Sie die Datei backup.txt.
    • Entfernen Sie das Verzeichnis projekt und seinen gesamten Inhalt.
    rm backup.txt
    cd ~
    rm -r projekt
    
  8. Terminal aufräumen

    • Verwenden Sie den Befehl clear, um das Terminalfenster zu löschen.
    clear