Linux ist ein sehr sehr weites Feld, in dem sehr kurzen Kurs habe ich vieles davon angesprochen aber konzentriert haben wir uns auf einige wenige zentrale Punkte. Zuerst: der Kurs basiert auf der Themenliste auf meiner Webseite zu allgemeinen Linux-Kursen: http://gnupc.de Alles auf dieser Webseite gehört zum Thema, aber in dem kurzen Einführungskurs haben wir nicht alles davon direkt angesprochen. Schauen Sie sich vor allem die Themen und Links zur ersten Woche an. Aus allen Wochen haben wir im Kurs die wichtigsten Punkte behandelt. Ich schlage vor, Sie sehen sich genau diese Punkte intensiv an, mein Pool von Prüfungsfragen fragt die praktischen Kentnisse in genau diesen Punkten ab. Sie sollten eine ordentliche Punktzahl schaffen, wenn sie folgende Grundfertigkeiten beherrschen: 1.) Arbeit im Terminal. Sie geben Befehle ein und interpretieren die Ausgabe. Grundbefehle: ls(Inhalt von Verzeichnissen anzeigen) cd(in ein anderes Verzeichnis wechseln) cat(Inhalt von Textdateien anzeigen) cp (Dateien kopieren) rm (Dateien löschen) echo "Text" > Datei Ausgabe von irgendwelchem Text | grep "Suchbegriff" Links: https://wiki.ubuntuusers.de/ls/ http://gnupc.de/8kommandos.pdf https://wiki.ubuntuusers.de/Shell/Umleitungen/ Fragen Sie Ihre Kameraden, was genau es mit den Umleitungen auf sich hat. 2.)Dateisystem. Welche Dateien sind unter welchen Adressen zu finden. Sie sollten prinzipiell wissen, was in den folgenden Ordnern gespeichert ist: /boot (Linux Kernel, Bootkonfiguration) /etc (Alle systemweiten Einstellungen in einfachen Textdateien) /bin (alle für den Systembetrieb unverzichtbaren Programme, die Shell Bash, Systemutilities wie cat und viele andere) /usr (Anwendungssoftware) /home (Nutzerdaten, ähnlich "Eigene Dateien") /var (Daten von Systemdiensten wie Logfiles, Datenbanken, Infos zu Softwarepaketen etc) Link: https://de.wikipedia.org/wiki/Filesystem_Hierarchy_Standard 3.)Nutzerverwaltung und Zugriffsrechte Das komplette Sicherheitskonzept von Linux basiert auf den Zugriffsrechten auf bestimmte Dateien, Das bedeutet auch, dass auch Geräte wie Festplatten, Netzwerkschnittstellen, Drucker etc im System als Dateien repräsentiert werden: Link: https://wiki.ubuntuusers.de/Rechte/ lesen Sie auch die weiterführenden Links auf dieser Seite, besonders die Links zu "Benutzer und Gruppen" und zu chmod und chown ABER! Bevor Sie sich intensiv und praktisch der Vergabe von Zugriffsrechten zuwenden, sollten Sie sich mit der Nutzerverwaltung beschäftigen: 3.a: Nutzeraccounts anlegen Mit adduser können Sie neue Nutzer anlegen, lesen Sie diese Webseite zu diesem Thema: Link: https://wiki.ubuntuusers.de/adduser/ Legen Sie zwei neue Nutzer an und schauen Sie sich mit cat an, was genau Sie dabei tun: cat /etc/passwd Die Ausgabe zeigt die zentrale Nutzerdatenbank von Linux. Am Ende dieser Datei finden Sie Ihre neuen Nutzer. Lesen Sie dazu aufmerksam folgenden Link: https://www.selflinux.org/selflinux/html/nutzer_unter_linux06.html Sie sollten in der Lage sein, Zugriffsrechte für verschiedene Nutzer und Nutzergruppen zu vergeben und Dateien und Ordnern Nutzer als Besitzer zuzuordnen. Außerdem sollten Sie Nutzer neuen Gruppen zuweisen können. Folgende Aufgabe wurde dazu im Kurs gelöst: legen Sie 2 neue Nutzer an legen Sie einen Ordner an, in dem alle 3 einfachen Nutzer (also der bei der Installation erzeugte erste Nutzer und die zwei neuen), Dateien anlegen können. Sie müssen außerdem mit dem login vertraut sein, das Tool su erlaubt einen Neulogin im laufenden Betrieb(Standardmäßig für den root account). Die folgende Grafik zeigt, was beim Login geschieht: Link: http://gnupc.de/bash_conf.svg Was in der Grafik nicht vorkommt: auch Gruppenzugehörigkeiten werden beim Login live zugewiesen. Relevante Befehle hierzu: id (aktuelle Nutzerkonfiguration anzeigen) env (alle in der Umgebung der Shellsitzung für den Nutzer gesetzten Einstellungen anzeigen) 4.) Massenspeichergeräte einrichten Schauen Sie sich die Datei /etc/fstab an: cat /etc/fstab Hier sind alle Speichergeräte unter Linux konfiguriert. Die Datei wird beim Systemstart gelesen. Link: https://wiki.ubuntuusers.de/fstab/ Mit dem Befehl mount können Sie auch im laufenden Betrieb Einträge in dieser Datei aktivieren, mit umount können Sie sie auch aushängen. Fragen Sie Ihre Kameraden, wie das geht, es ist einfach in der Praxis aber schwer theoretisch zu erklären. Natürlich müssen diese Speichergeräte erst einmal existieren, dazu kann man Netzwerkressourcen aufrufen(haben wir im Kurs nicht gemacht) oder physischen Speicher partitionieren und formatieren. Dazu sollten Sie die Werkzeuge cfdisk, parted und mkfs kennen. Die ersten beiden kümmern sich um Partitionen, Sie sollten eine virtuelle Festplatte in Virtualbox mit cfdisk partitionieren können und sich die verfügbaren Partitionen mit parted -l anzeigen können. Lesen Sie dazu die folgenden Seiten: https://wiki.ubuntuusers.de/fdisk/ (Achtung! nur die Variante cfdisk ist für die Prüfung relevant) https://wiki.ubuntuusers.de/GNU_Parted/ (Nur parted -l ist im Kurs relevant) https://wiki.ubuntuusers.de/Formatieren/ (Achtung! Ignorieren Sie die Abschnitte zu grafischen Tools, Sie müssen nur mkfs kennen) Relevante Terminalkommandos außer den genannten Partitions/Formatierungs Programmen: df (Massenspeicherbelegung anzeigen) du (Speicherverbrauch durch Dateien anzeigen) blkid (Identifikations UUIDs von Partitionen anzeigen) Alle Aktionen dieser Tools greifen auf Gerätedateien in /dev zu, die üblichen SATA Laufwerke werden dort als Dateien mit Namen wie /dev/sda (erstes SATA Laufwerk am Bus) und /dev/sdb (zweites Laufwerk) repräsentiert. Die eientlichen Partitionen sind dann Nummern nach diesen Laufwerksbezeichnern: Die erste Partition auf /dev/sda ist /dev/sda1 die erste logische Partition auf /devsdc ist /dev/sdc5 Das ist wichtig. Fragen Sie ihre Kameraden, wie die Laufwerks/Partitionsbezeichner funktioneren. Auch hier gilt: einfach in der Praxis, schwierig zu erklären. 5.) Systemdienste und Logfiles Der Kurs und die Prüfung berücksichtigt in Sachen Steuerung von Systemdiensten ausschließlich das aktuelle System systemd: Link: https://www.linux.com/learn/managing-services-linux-systemd (Ignorieren Sie auch hier die grafischen Tools, nur systemctl auf der Kommandozeile ist relevant) Wir haben im Kurs als Beispiel mit dem Webserver Apache gearbeitet. Installation: apt get install apache2 Nach Ă„nderungen der Konfiguration unter /etc/apache2 aktiviert man die Konfiguration mit: systemctl restart apache2 Den aktuellen Status und die Prozessnummern zeigt man so an: systemctl status apache2 6.) Konfigurationsdateien bearbeiten mit VIM Alle Konfigurationsdateien unter Linux sind einfache Textdateien, die vom Administrator Root mit Hilfe eines Texteditors eingestellt werden. Es gibt keine Konfigdatenbank in einem speziellen Format wie es bei der Windows Registry der Fall ist. Links: http://gnupc.de/linuxserversurvival-de.pdf Auf der gnupc Seite sind weitere Erklärungen für den Texteditor VIM zu finden. Lassen Sie sich bei den ersten Schritten von Ihren Kameraden unterstützen. Sie müssen vor allem Wissen, was die Modi sind und wie man zwischen ihnen wechselt. 7.) Prozesskontrolle Programme starten in Linux als Prozesse, die über ID Nummern kontrollierbar sind. Folgende Tools sind relevant: top (laufende Prozesse geordnet nach Ressourcenverbrauch anzeigen) ps (existierende Prozesse anzeigen) kill (Prozessen Sinale senden) Links: https://wiki.ubuntuusers.de/Prozesse/ https://wiki.ubuntuusers.de/kill/ Installieren Sie ein aktuelles Debian Linux (ist kostenlos herunterladbar) in einer virtuellen Maschine in Virtualbox, damit Sie die Aufgaben praktisch ausführen können. Fragen Sie ihre Kameraden, die am Kurs teilgenommen haben, wenn Sie nicht weiterwissen. 8.) Paketmanagement mit apt In Debian Linux und daraus abgeleiteten Distributionen (Ubuntu, Knoppix etc) wird der Softwarebestand mit dem System apt verwaltet. APT sorgt auch dafür, dass Dienste in Paketen automatisch für Systemd registriert und gestartet werden. Wichtige Dateien: /etc/apt/ /var/cache/apt Wichtige Kommandos: apt update apt upgrade apt install Paket apt remove(oder purge) Paket apt search