From c17a7e3b426f96ab0b61a9596ec6eb3f15511f62 Mon Sep 17 00:00:00 2001 From: Daniel Schubert Date: Sun, 20 Jan 2019 20:53:32 +0100 Subject: [PATCH] 8 --- 7.html | 3 + 8.html | 303 ++++++++++++++++++++++++++++++---- beispiele/8/hello-web.service | 9 + beispiele/8/hello-web.sh | 2 + img/startup-systemd.png | Bin 0 -> 49999 bytes index.html | 4 + 6 files changed, 292 insertions(+), 29 deletions(-) create mode 100644 beispiele/8/hello-web.service create mode 100644 beispiele/8/hello-web.sh create mode 100644 img/startup-systemd.png diff --git a/7.html b/7.html index 49c149e..7da5abb 100644 --- a/7.html +++ b/7.html @@ -222,6 +222,9 @@ drwxrwxrwt 18 root root 114688 Jan 16 20:29 /tmp// +
+ Aufgabe: Erstellt ein neues Verzeichnis "test". In diesem Verzeichnis eine Datei foo.bar. Ändert den Besitzer des Verz. auf root. Entzieht dem Verzeichnis die Leserechte für alle ausser den Besitzer. Versucht die Datei zu löschen. +

Part 1 - Benutzerverwaltung

diff --git a/8.html b/8.html index c9e918d..195f902 100644 --- a/8.html +++ b/8.html @@ -28,10 +28,12 @@ link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css'; document.getElementsByTagName( 'head' )[0].appendChild( link ); + -
@@ -40,7 +42,7 @@

LINUX

Das universelle Betriebssystem

-

Eine Einführung - Teil 7 +

Eine Einführung - Teil 8

Deutsche Angestellten Akademie

@@ -51,50 +53,293 @@
-

Einstieg in die Systemverwaltung

+

Systemverwaltung

+
+
+ Begriff: daemon + +

Ein Systemdienst der automatisch startet und ohne Eingriffe arbeitet ( meistens :-) ) +

vgl. Dienste unter Windows +

Name endet oft mit „d“ +

    +
  • systemd - ... +
  • sshd - SSH Server Daemon +
  • dockerd - docker daemon +
  • smbd - SAMBA File Server +
  • ntpd - Network Time Protocal Daemon +
  • atd - at Daemon +
+
+ +

Begriff: Runlevel

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RunlevelBeschreibung +
0 + Shutdown. Alle Netzverbindungen werden geschlossen, Dateipuffer werden geschrieben, Mounts auf Partitionen werden entfernt (d. h. die im Verzeichnisbaum eingebundenen Datenträger werden ausgehängt). +
S + Single-User-Runlevel; niedrigster Systemzustand für Wartungsarbeiten, in dem ausschließlich Systemressourcen wie Festplatten oder Dateisysteme aktiv sind. +
1 + Einzelnutzerbetrieb ohne Netzwerk mit ausschließlich lokalen Ressourcen. In vielen Implementierungen identisch mit 'S'. +
2 + Lokaler Mehrnutzerbetrieb ohne Netzwerk mit ausschließlich lokalen Ressourcen. Unter einigen Linuxdistributionen (z. B. Debian) wird in Runlevel 2 auch das Netzwerk konfiguriert. +
3 + Netzwerkbetrieb, über das Netzwerk erreichbare Ressourcen sind nutzbar, eine grafische Oberfläche steht nicht zur Verfügung. Firewalls sollten aktiviert werden. +
4 + Ist normalerweise nicht definiert. Kann aber für diverse Dienste genutzt werden. +
5 + Wie 3, zusätzlich wird die grafische Oberfläche bereitgestellt. +
6 + Reboot. Alle Netzverbindungen werden geschlossen, Dateipuffer werden geschrieben, Mounts auf Partitionen werden entfernt. +
+
+ +
+

Part 5 - systemd

- + +
+
    +
  • Relativ neu +
  • bricht mit alter Linux Philosophie:
    -- do one thing and do it well -- +
  • Sysvinit funktioniert über Shell Scripte, die nacheinander abgearbeitet werden +
  • Systemd ist schneller - startet Dienste parallel +
  • Kritik : übernimmt sehr viel Kontrolle - single point of failure +
  • zB Gnome3 ist abhängig von systemd +
  • -->Abspaltungen: Devuan - nutzt weiterhin Sysvinit +
  • Standard in : Debian RedHat Suse Ubuntu +
+ +
+ +

systemd ist organisiert mit +

    +
  • units - einzelne Dienste +
  • targets - Gruppen von Diensten, Systemzustände +
    • entspr. runlevel unter Sysvinit
    +
+

+

+ Dateien: +

/lib/systemd/system/ -> default +

/etc/systemd/system/ -> custom +

+
+ +
+

Informationen anzeigen

+ +
    +
  • Systemstatus anzeigen:
    systemctl status
  • +
  • Liste der fehlgeschlagenene Units
    systemctl --failed
  • +
  • Liste aller installierter Units
    systemctl list-unit-files
  • +
+
+ +
+

Dienste Steuern

+
    +
  • Laufende Dienste anzeigen:
    systemctl
  • +
  • Eine Unit starten
    systemctl start DIENST
  • +
  • Eine Unit neu starten
    systemctl restart DIENST
  • +
  • Unit Status anzeigen
    systemctl status DIENST
  • +
+
+ +
+
    +
  • Dienst Autostart anschalten
    systemctl enable DIENST
  • +
  • Dienst Autostart anschalten und sofort starten
    systemctl enable --now DIENST
  • + +
+
+ + +
+

Eine unit

+
[Unit]
+Description=OpenBSD Secure Shell server
+After=network.target auditd.service
+ConditionPathExists=!/etc/ssh/sshd_not_to_be_run
+
+[Service]
+EnvironmentFile=-/etc/default/ssh
+ExecStartPre=/usr/sbin/sshd -t
+ExecStart=/usr/sbin/sshd -D $SSHD_OPTS
+ExecReload=/usr/sbin/sshd -t
+ExecReload=/bin/kill -HUP $MAINPID
+KillMode=process
+Restart=on-failure
+RestartPreventExitStatus=255
+Type=notify
+RuntimeDirectory=sshd
+RuntimeDirectoryMode=0755
+
+[Install]
+WantedBy=multi-user.target
+Alias=sshd.service
+		
+
+ + +
+ Aufgabe: Erstellt eine Unit und startet sie. +
+ /etc/systemd/system/simple-webserver.service +
[Unit]
+Description=Simple Web Server
+
+[Service]
+Type=simple
+ExecStart=/home/USERNAME-HIER-EINSETZEN/hello-web.sh
+
+[Install]
+WantedBy=multi-user.target
+
+						
+ ~/hello-web.sh +
#!/bin/bash 
+cd /home/
+python3 -m http.server 8082 
+
+ +
+ + +
+
systemctl start simple-webserver.service
+
systemctl status simple-webserver.service
+ Wenn das gescheitert sein sollte: +
journalctl -xe 
+
journalctl --unit=simple-webserver.service 
+
+ +
Browser öffnen: http://localhost:8082/BENUTZERNAME
+ +

Ändern der Standard-Units

+ +
    +
  • systemctl edit unit
  • +
  • Öffnet /etc/systemd/system/unit.d/override.conf
  • +
  • UnDo:
    systemctl revert unit
  • +
+ +
+ +
+

Ensprechenungen der alten Runlevel und der neuen Targets

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SysV Runlevelsystemd TargetNotes +
0runlevel0.target, poweroff.targetHalt the system. +
1, s, singlerunlevel1.target, rescue.targetSingle user mode. +
2, 4runlevel2.target, runlevel4.target, multi-user.targetUser-defined/Site-specific runlevels. By default, identical to 3. +
3runlevel3.target, multi-user.targetMulti-user, non-graphical. Users can usually login via multiple consoles or via the network. +
5runlevel5.target, graphical.targetMulti-user, graphical. Usually has all the services of runlevel 3 plus a graphical login. +
6runlevel6.target, reboot.targetReboot +
emergencyemergency.targetEmergency shell +
+
+ +
+ Ausserdem: + +
    +
  • mount -> systemd kann Dateisysteme mounten
  • +
  • timer -> systemd kann cron ersetzen
  • +
+
+ + +
+

journalctl

+ Das logging system moderner Linux Distributionen. +
+ +
+

systemctl

+
+
-

Part 3 - daemons

+

Part 5 - daemons

-

Part 4 - Uhrzeit und Datum

-
- -
-

Part 5 - Zeitgesteuerte Jobs

-
- -
-

Part 6 - Cron

+

Part 6 - Uhrzeit und Datum

Part 7 - Startup / Shutdown

-
- +

Der Boot-Ablauf mit systemd

+ +

Das initramfs ist ein komprimiertes Archiv, das für den Systemstart benötigte Dateien enthält.

- - - - - - - - - -
- - - diff --git a/beispiele/8/hello-web.service b/beispiele/8/hello-web.service new file mode 100644 index 0000000..63377d6 --- /dev/null +++ b/beispiele/8/hello-web.service @@ -0,0 +1,9 @@ +[Unit] +Description=Simple WSGI Server + +[Service] +Type=simple +ExecStart=/home/USERNAME-HIER-EINSETZEN/hello-web.sh + +[Install] +WantedBy=multi-user.target diff --git a/beispiele/8/hello-web.sh b/beispiele/8/hello-web.sh new file mode 100644 index 0000000..c6b9397 --- /dev/null +++ b/beispiele/8/hello-web.sh @@ -0,0 +1,2 @@ +#!/bin/bash +cd /home/; python3 -m http.server 8082 \ No newline at end of file diff --git a/img/startup-systemd.png b/img/startup-systemd.png new file mode 100644 index 0000000000000000000000000000000000000000..2b86da4d5ff9a5ef5c224dccdc72005001c62674 GIT binary patch literal 49999 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 Sw|^9WWjlQAurt=K>;E65. Abend - Bash Scripting Fortsetzung
  • 6. Abend - vim / emacs
  • 7. Abend - Systemverwaltung
  • +
  • 8. Abend - Systemd