OAuth: login failed Service class dokuwiki\plugin\oauthlinuxhotel\DoorKeeper does not exist.
admin_grundlagen:admin-suse-2022-12
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| admin_grundlagen:admin-suse-2022-12 [2022/12/09 14:22] – angelegt carsten_strotmann | admin_grundlagen:admin-suse-2022-12 [2022/12/09 14:26] (aktuell) – [Pager] carsten_strotmann | ||
|---|---|---|---|
| Zeile 809: | Zeile 809: | ||
| `---- | `---- | ||
| + | Übung Backup-Restore: | ||
| + | |||
| + | | ||
| + | | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | In 2er Teams zusammen an der Übung arbeiten. Jeden Schritt gemeinsam | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | Erst ein Backup eines Laptops auf den Laptop des anderen | ||
| + | | ||
| + | und wiederherstellen. Nach erfolgreicher Wiederherstellung die Rollen | ||
| + | | ||
| + | | ||
| + | |||
| + | Subvolumes welche gesichert werden: | ||
| + | / | ||
| + | /home | ||
| + | /opt | ||
| + | /srv | ||
| + | /var | ||
| + | /root | ||
| + | / | ||
| + | /tmp | ||
| + | / | ||
| + | / | ||
| + | |||
| + | Beispiel Datei /etc/fstab nach Wiederherstellung | ||
| + | |||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | |||
| + | / | ||
| + | / | ||
| + | |||
| + | BTRFS | ||
| + | 1) Erstelle ein RAID 10 (Stipe of Mirror) ueber die Partitionen 4-7 (4 Geräte) | ||
| + | mkfs.btrfs -f -m raid10 -d raid10 / | ||
| + | 2) Erstelle einen Eintrag in der Datei /etc/fstab welche dieses BTRFS Dateisystem nach /srv/data | ||
| + | einhängt. Dabei sollen die Daten per ' | ||
| + | / | ||
| + | 3) Teste den Eintrag in der Filesystem-Tabelle (kann das Dateisystem angehangen werden?) | ||
| + | mount -a | ||
| + | 4) Führe ein Reboot des Laptops durch. Prüfe nach dem Reboot, das /srv/data eingehangen ist | ||
| + | 5) Das Dateisystem sollte eine Kapazität von ~4GB (unkomprimiert) besitzen. Teste die Komprimierung, | ||
| + | eine neue Datei von 6 GB bestehend aus vielen NULL Bytes erstellt wird (sollte ideal komprimiert werden) | ||
| + | dd if=/ | ||
| + | 6) Vergleiche die Ausgaben dieser Befehle | ||
| + | df -Th | ||
| + | du -sh /srv/data | ||
| + | btrfs filesystem show /srv/data | ||
| + | btrfs filesystem usage /srv/data | ||
| + | btrfs filesystem df /srv/data | ||
| + | |||
| + | BTRFS Quota | ||
| + | 1) Erstelle ein Subvolume / | ||
| + | btrfs subvol create / | ||
| + | 2) Schalte Quota-Support für dieses BTRFS Dateisystem an | ||
| + | btrfs quota enable /srv/data | ||
| + | 3) Setze ein Limit von 100 MB auf das neue Subvolume | ||
| + | btrfs qgroup limit 100M / | ||
| + | 4) Test des Quota (Schreibe eine neue 150 MB Datei) | ||
| + | dd if=/ | ||
| + | 5) Der Test sollte mit eine "Quota exceeded" | ||
| + | |||
| + | Logical Volume Management | ||
| + | 1) Finde die Dokumentation zu LVM im Linuxhotel Wiki https:// | ||
| + | 2) Hänge das BTRFS Dateisystem aus /srv/data aus | ||
| + | 3) Benutze den Befehl ' | ||
| + | 4) Erstelle ein neues PV (Physical Volume) auf Partition 4 | ||
| + | 5) Erstelle eine neue Volume Group auf dem PV | ||
| + | 6) Erstelle ein Logical Volume (LV) von 1GB in der Volume Group | ||
| + | 7) Formatiere das Logical Volume mit dem XFS Dateisystem (mkfs.xfs /dev/...) | ||
| + | 8) Binde dieses LV unter /srv/data ein (mount) | ||
| + | 9) Vergrössere das LV im laufenden Betrieb um 500 MB | ||
| + | 10) Lege ein 2tes PV auf der Partition 5 an | ||
| + | 11) Füge diese 2te PV der Volume Group hinzu | ||
| + | 12) Wandle das Logical Volume in ein RAID1 (Mirror) um | ||
| + | 13) Binde das LV in die Datei /etc/fstab ein (ersetze die alte BTRFS Konfiguration-Zeile) | ||
| + | 14) Teste die Filesystem-Tabelle mit "mount -a" | ||
| + | 15) Teste ein Reboot des Laptops. Das Dateisystem auf dem LV sollte automatisch unter /srv/data eingehangen sein | ||
| + | (mit " | ||
| + | |||
| + | Übung: CUPS Netzwerk-Druckdienst | ||
| + | 1) Der CUPS Netzwerkdruckdienst läuft unter Suse nur auf der Loopback-Schnittstelle | ||
| + | Wir wollen die CUPS Konfiguration ändern, so das der Dienst auch über das Netzwerk erreichbar ist | ||
| + | 2) In der Datei / | ||
| + | auf alle Netzwerkschnittstellen horcht | ||
| + | Listen 0.0.0.0:631 | ||
| + | 3) In der Datei / | ||
| + | < | ||
| + | Order allow,deny | ||
| + | Allow from 192.168.1.* | ||
| + | </ | ||
| + | 4) Datei sichern und den CUPS-Dienst neu starten | ||
| + | systemctl restart cups | ||
| + | systemctl status cups | ||
| + | 5) Prüfen, das der Cups-Prozess nun auf allen IPv4 Adressen Daten entgegennimmt (Port 631) | ||
| + | lsof -Poni :631 | ||
| + | 6) Einen anderen Teilnehmer bitten, mit dem Firefox auf die eigene IP-Adresse auf Port 631 zu verbinden | ||
| + | http:// | ||
| + | Dies sollte noch nicht möglich sein, da die Firewall die Verbindung unterbindet | ||
| + | 7) Port 631 in der Firewall freischalten | ||
| + | firewall-cmd --add-port=631/ | ||
| + | firewall-cmd --add-port=631/ | ||
| + | 8) Nochmals von einem anderen Rechner aus testen. Nun sollte die CUPS Admin Webseite erscheinen | ||
| + | |||
| + | Übung: NGINX Webserver | ||
| + | 1) Installiere den NGINX Webserver aus den Suse Paketquellen | ||
| + | 2) Passe die NGINX Konfiguration an, so das der Webserver auf der IP-Adresse des Laptops (Port 80) horcht | ||
| + | 3) Erstelle eine einfache HTML Webseite für den Webserver | ||
| + | 4) Erlaube den Webserver (per Port oder per Service) in der Firewall | ||
| + | 5) Starte den NGINX Webserver Dienst, stelle sicher das der Dienst erfolgreich gestartet wurde | ||
| + | 6) Lasse die Webseite von einem anderen Teilnehmer per http:// | ||
| + | | ||
| + | Übung zu RSyslog: | ||
| + | |||
| + | 1) Erzeuge eine neue Syslog-Regel-Datei unter / | ||
| + | Diese Regel soll alle Log-Meldungen der Facility (Anwendung) " | ||
| + | in die Datei / | ||
| + | |||
| + | Lösung: | ||
| + | | ||
| + | 2) Den RSyslog-Dienst neu starten | ||
| + | systemctl restart rsyslog | ||
| + | 3) Lese die " | ||
| + | mit der Facility " | ||
| + | erscheinen | ||
| + | 4) Schaue die Konfigurationsdatei / | ||
| + | die Log-Meldungen der Facility " | ||
| + | |||
| + | Lösung: local3.* | ||
| + | |||
| + | 5) Starte den Dienst RSyslog neu | ||
| + | 6) Sende eine Log-Meldung für die Facility " | ||
| + | 7) Schaue das diese Log-Meldung am Bildschirm des Trainers angezeigt wird | ||
| + | |||
| + | SSH mit Schlüssel | ||
| + | |||
| + | 1) Erstelle ein SSH-Schlüsselpaar auf dem Client (eigenes | ||
| + | Notebook). Bestaetige den Pfad der Schlüssel-Dateien und vergebe eine | ||
| + | Passphrase (langes Passwort). Der private Schlüssel wird mit diesem | ||
| + | Passwort verschlüsselt | ||
| + | ssh-keygen -t ed25519 | ||
| + | 2) Port 22 (SSH) in der Firewall auf dem Laptop freischalten | ||
| + | firewall-cmd --add-service=ssh --permanent | ||
| + | firewall-cmd --reload | ||
| + | 3) Sicherstellen das der SSH-Dienst gestartet ist | ||
| + | systemctl status sshd | ||
| + | 4) Den eigenen öffentlichen SSH-Schlüssel auf den entfernten Rechner (Laptop | ||
| + | des Partner-Teilnehmers) kopieren (XX=Nummer des Partner-Teilnehmers) | ||
| + | ssh-copy-id nutzerXX@192.168.1.2XX | ||
| + | 5) SSH-Verbindung testen. Statt des Passwortes sollte nun die Passphrase des | ||
| + | privaten Schlüssels gefragt werden | ||
| + | ssh nutzerXX@192.168.1.2XX | ||
| + | 6) Wenn die Anmeldung des Partner-Teilnehmers per SSH-Schlüssel am eigenen | ||
| + | Laptop funktioniert, | ||
| + | Passwort-Anmeldung deaktivieren. In der Datei / | ||
| + | Alt -> PasswordAuthentication yes / UsePAM yes | ||
| + | Neu -> PasswordAuthentication no / UsePAM no | ||
| + | 7) SSH-Dienst neu starten | ||
| + | systemctl restart sshd | ||
| + | 8) Den Partner-Teilnehmer bitten, die Anmeldung per Schlüssel zu testen. Wenn | ||
| + | die Anmeldung per Schlüssel funktioniert, | ||
| + | (Anmeldung per Passwort). Für die Gegenprobe versuchen sich am Rechner per | ||
| + | SSH mit einem unbekannten Benutzer anzumelden (es sollte nicht nach einem | ||
| + | Passwort Gefragt werden): | ||
| + | |||
| + | SSH mit SSH-Agent | ||
| + | 0) Lokalen SSH-Agent laden (gilt nur in der aktuellen Shell, notwenig wenn | ||
| + | man nicht als an der grafischen Oberfläche angemeldeter Benutzer in der | ||
| + | Shell arbeitet) | ||
| + | eval $(ssh-agent) | ||
| + | 1) Privater Schlüssel in den SSH-Agent laden | ||
| + | ssh-add | ||
| + | 2) Schlüssel im Agent auflisten | ||
| + | ssh-add -l | ||
| + | 3) Wenn nun eine SSH Verbindung mit Schlüssel aufgebaut wird, so wird nicht | ||
| + | mehr nach der Passphrase gefragt. Bitte einmal ausprobieren | ||
| + | ssh nutzerXX@192.168.1.2XX | ||
| + | 4) SSH-Agent mit einem Passwort sperren (z.B. wenn man den Laptop einige Zeit | ||
| + | unbeaufsichtigt lässt) | ||
| + | ssh-add -x | ||
| + | 5) SSH-Agent wieder entsperren (grosses ' | ||
| + | ssh-add -X | ||
| + | 6) Alle Schlüssel aus dem SSH-Agent löschen | ||
| + | ssh-add -D | ||
| </ | </ | ||
admin_grundlagen/admin-suse-2022-12.txt · Zuletzt geändert: 2022/12/09 14:26 von carsten_strotmann
