From 65c3fb63b1bc2d5a0ad130bc3c916197dd4b6dc0 Mon Sep 17 00:00:00 2001 From: Florian Hensel Date: Sun, 21 Dec 2025 14:14:51 +0100 Subject: [PATCH] =?UTF-8?q?Gro=C3=9Fe=20anpassung=20in=20ORdnerstruktur=20?= =?UTF-8?q?und=20Verlinkung.=20Ganz=20viel=20Copiloit=20erst=20mal=20alles?= =?UTF-8?q?=20chacken?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 18 +- mkdocs-to-pdf.sh | 6 +- .../Automatisierung_mit_cron_und_systemd.md | 137 ++++++ mkdocs/docs/Einstieg_in_Linux-Desktop.md | 87 ++++ mkdocs/docs/Grundlagen_der_Konsole.md | 256 +++++++++++ .../Praxisprojekt_Freigaben_im_Unternehmen.md | 2 +- .../Linux_Unternehmen/Server_Installation.md | 2 +- .../docs/Linux_Unternehmen/nextcloud-ldap.md | 4 +- .../docs/Mein_erstes_kleines_Linux-Projekt.md | 85 ++++ .../Praxisprojekt_Freigaben_im_Unternehmen.md | 8 + .../Praxisprojekt_Medien-NAS_fuer_KODI.md | 234 +++++++++++ mkdocs/docs/Remotezugriff_einrichten.md | 118 ++++++ mkdocs/docs/Server_Installation.md | 10 + ...Windows_Freigaben_fuer_Linux-Einsteiger.md | 397 ++++++++++++++++++ mkdocs/docs/Windows_Programme_unter_Linux.md | 170 ++++++++ mkdocs/docs/{ => assets}/image.png | Bin .../nextcloud/design}/Login_Image.jpg | Bin .../nextcloud/design}/Logo.png | Bin .../nextcloud/design}/background.jpg | Bin .../nextcloud/design}/background_Depri.jpg | Bin .../design}/background_etz_depri.jpg | Bin .../nextcloud/design}/favicon.ico | Bin .../nextcloud}/image1.png | Bin .../nextcloud}/image2.png | Bin .../nextcloud}/image3.png | Bin .../nextcloud}/image4.png | Bin .../nextcloud}/image5.png | Bin .../nextcloud}/image6.png | Bin .../nextcloud}/image7.png | Bin mkdocs/docs/automatisierung-mit-ansible.md | 8 + .../Praxisprojekt_Medien-NAS_fuer_KODI.md | 2 +- ...Windows_Freigaben_fuer_Linux-Einsteiger.md | 2 +- mkdocs/docs/docker-grundlagen.md | 67 +++ mkdocs/docs/index.md | 38 +- mkdocs/docs/linux-als-ad-client.md | Bin 0 -> 735 bytes mkdocs/docs/linux-als-ad-server.md | 11 + mkdocs/docs/nextcloud-ldap.md | 123 ++++++ mkdocs/mkdocs.yml | 30 +- 38 files changed, 1777 insertions(+), 38 deletions(-) create mode 100644 mkdocs/docs/Automatisierung_mit_cron_und_systemd.md create mode 100644 mkdocs/docs/Einstieg_in_Linux-Desktop.md create mode 100644 mkdocs/docs/Grundlagen_der_Konsole.md create mode 100644 mkdocs/docs/Mein_erstes_kleines_Linux-Projekt.md create mode 100644 mkdocs/docs/Praxisprojekt_Freigaben_im_Unternehmen.md create mode 100644 mkdocs/docs/Praxisprojekt_Medien-NAS_fuer_KODI.md create mode 100644 mkdocs/docs/Remotezugriff_einrichten.md create mode 100644 mkdocs/docs/Server_Installation.md create mode 100644 mkdocs/docs/Windows_Freigaben_fuer_Linux-Einsteiger.md create mode 100644 mkdocs/docs/Windows_Programme_unter_Linux.md rename mkdocs/docs/{ => assets}/image.png (100%) rename mkdocs/docs/{Linux_Unternehmen/Nextcloud_Design => assets/nextcloud/design}/Login_Image.jpg (100%) rename mkdocs/docs/{Linux_Unternehmen/Nextcloud_Design => assets/nextcloud/design}/Logo.png (100%) rename mkdocs/docs/{Linux_Unternehmen/Nextcloud_Design => assets/nextcloud/design}/background.jpg (100%) rename mkdocs/docs/{Linux_Unternehmen/Nextcloud_Design => assets/nextcloud/design}/background_Depri.jpg (100%) rename mkdocs/docs/{Linux_Unternehmen/Nextcloud_Design => assets/nextcloud/design}/background_etz_depri.jpg (100%) rename mkdocs/docs/{Linux_Unternehmen/Nextcloud_Design => assets/nextcloud/design}/favicon.ico (100%) rename mkdocs/docs/{Linux_Unternehmen/nextcloud-ldap-media => assets/nextcloud}/image1.png (100%) rename mkdocs/docs/{Linux_Unternehmen/nextcloud-ldap-media => assets/nextcloud}/image2.png (100%) rename mkdocs/docs/{Linux_Unternehmen/nextcloud-ldap-media => assets/nextcloud}/image3.png (100%) rename mkdocs/docs/{Linux_Unternehmen/nextcloud-ldap-media => assets/nextcloud}/image4.png (100%) rename mkdocs/docs/{Linux_Unternehmen/nextcloud-ldap-media => assets/nextcloud}/image5.png (100%) rename mkdocs/docs/{Linux_Unternehmen/nextcloud-ldap-media => assets/nextcloud}/image6.png (100%) rename mkdocs/docs/{Linux_Unternehmen/nextcloud-ldap-media => assets/nextcloud}/image7.png (100%) create mode 100644 mkdocs/docs/automatisierung-mit-ansible.md create mode 100644 mkdocs/docs/docker-grundlagen.md create mode 100644 mkdocs/docs/linux-als-ad-client.md create mode 100644 mkdocs/docs/linux-als-ad-server.md create mode 100644 mkdocs/docs/nextcloud-ldap.md diff --git a/README.md b/README.md index e6b64c0..c14784a 100644 --- a/README.md +++ b/README.md @@ -18,11 +18,11 @@ Dieses Projekt enthält ein Bash-Skript und eine Umgebung zum automatischen Konv Alle Markdown-Dateien in mkdocs/docs pdfen: ./mkdocs-complete.sh -Einzelne Datei konvertieren: -./mkdocs-to-pdf.sh Linux_Unternehmen/nextcloud-ldap.md +Einzelne Datei konvertieren (Dateiname relativ zu `mkdocs/docs`): +./mkdocs-to-pdf.sh nextcloud-ldap.md Mehrere Dateien gleichzeitig -./mkdocs-to-pdf.sh basics/Einstieg_in_Linux-Desktop.md Linux_Unternehmen/linux-als-ad-client.md +./mkdocs-to-pdf.sh Einstieg_in_Linux-Desktop.md linux-als-ad-client.md ```` ## Voraussetzungen @@ -36,11 +36,11 @@ Mehrere Dateien gleichzeitig ## Verzeichnisstruktur ```` mkdocs/ -├── docs/ <- Markdown Quelldateien und Medien -│ ├── Linux_Unternehmen/ -│ │ ├── nextcloud-ldap.md -│ │ └── nextcloud-ldap-media/ <- Bilder für Markdown -│ └── basics/ +├── docs/ <- Markdown Quelldateien und Medien (jetzt flach organisiert) +│ ├── nextcloud-ldap.md +│ ├── assets/ +│ │ └── nextcloud/ <- Bilder und Design-Assets für Nextcloud-Seite +│ └── ... (Markdown-Dateien liegen direkt im docs-Root) ├── mkdocs.yml <- MkDocs Konfigurationsdatei └── site/ <- Ergebnis von MkDocs Build (HTML, PDF) ```` @@ -52,7 +52,7 @@ text ## Hinweise -- Bildpfade in Markdown müssen relativ zum Markdown-Dokument korrekt sein (z.B. `./nextcloud-ldap-media/image1.png`) + - Bildpfade in Markdown müssen relativ zum Markdown‑Dokument korrekt sein (z.B. `assets/nextcloud/image1.png` oder `assets/nextcloud/design/Logo.png`) - Änderungen an Markdown führen bei Ausführung des Skripts zur Neugenerierung der PDFs - Vor dem Commit werden automatisch PDF-Download-Links hinzugefügt, wenn noch nicht vorhanden diff --git a/mkdocs-to-pdf.sh b/mkdocs-to-pdf.sh index 8cd30fc..b5dda15 100644 --- a/mkdocs-to-pdf.sh +++ b/mkdocs-to-pdf.sh @@ -2,16 +2,16 @@ MKDOCS_DIR="mkdocs/docs" -# Einzelne Datei als Parameter übergeben +# Einzelne Datei als Parameter übergeben (Dateiname relativ zu mkdocs/docs) if [ $# -eq 0 ]; then - echo "Usage: $0 [z.B. Linux_Unternehmen/nextcloud-ldap.md]" + echo "Usage: $0 [z.B. nextcloud-ldap.md]" exit 1 fi md_file="$MKDOCS_DIR/$1" if [[ ! -f "$md_file" ]]; then - echo "Fehler: $md_file nicht gefunden!" + echo "Fehler: $md_file nicht gefunden! (Pfad: mkdocs/docs/)" exit 1 fi diff --git a/mkdocs/docs/Automatisierung_mit_cron_und_systemd.md b/mkdocs/docs/Automatisierung_mit_cron_und_systemd.md new file mode 100644 index 0000000..4586198 --- /dev/null +++ b/mkdocs/docs/Automatisierung_mit_cron_und_systemd.md @@ -0,0 +1,137 @@ +````markdown +# Automatisierung mit cron und systemd + + +Stellen Sie sich vor, Sie betreiben einen Server oder eine Anwendung, die rund um die Uhr laufen muss. Als IT-Meister möchten Sie jederzeit nachvollziehen können, ob Ihr System aktiv ist und wann es zuletzt gestartet wurde. Dafür können Sie zwei klassische Linux-Automatisierungswerkzeuge nutzen: + +* **Cronjob:** Führt regelmäßig Aufgaben aus, z.B. jede Minute, jede Stunde oder einmal täglich. +* **systemd-Unit:** Startet Aufgaben beim Systemstart oder zu bestimmten Ereignissen. + +Mit diesen Werkzeugen können Sie z.B. eine Datei anlegen oder aktualisieren, um so einen „Herzschlag" (Heartbeat) Ihres Systems zu dokumentieren. + +## Cron-Job: Jede Minute eine Datei aktualisieren + +### Praxisbeispiel: Heartbeat-File + +Sie möchten, dass jede Minute der Zeitstempel einer Datei (/tmp/heartbeat.txt) aktualisiert wird. Das ist nützlich, um zu prüfen, ob Cron und das System laufen. + +**So geht's:** + +Öffnen Sie die Crontab des aktuellen Benutzers: + +``` +crontab -e +``` + +Fügen Sie folgende Zeile hinzu: + +``` +* * * * * /usr/bin/touch /tmp/heartbeat.txt +``` + +Jetzt wird jede Minute die Datei /tmp/heartbeat.txt neu angelegt oder ihr Zeitstempel aktualisiert. Prüfen Sie das ergebnis, indem Sie sich den Zeitstempel der neuen Datei anschauen: + +```bash +ls -lah /tmp/heartbeat.txt +``` + +\newpage + +### Crontab-Syntax erklärt: + +| Feld | Bedeutung | Wert im Beispiel | Bedeutung | +| ----------* | --------------* | --------------------------------* | ------------------* | +| Minute | 0-59 | \* | jede Minute | +| Stunde | 0-23 | \* | jede Stunde | +| Tag (Monat) | 1-31 | \* | jeder Tag | +| Monat | 1-12 | \* | jeder Monat | +| Tag (Woche) | 0-7 (0/7 = Son) | \* | jeder Wochentag | +| Befehl | Befehl | /usr/bin/touch /tmp/heartbeat.txt | Was wird ausgeführt | + +**Beispiel:** + +``` +* * * * * /usr/bin/touch /tmp/heartbeat.txt +``` + +→ Jede Minute wird die Datei angefasst („touched"). + +**Weitere Beispiele:** + +``` +0 0 * * * /usr/bin/touch /tmp/midnight.txt +``` + +* \# jeden Tag um Mitternacht + +``` +*/5 * * * * /usr/bin/touch /tmp/every5min.txt +``` + +* alle 5 Minuten beginnend 5 Minuten + +## systemd-Unit: Datei beim Systemstart aktualisieren + +### Praxisbeispiel: Boot-Marker + +Sie möchten beim Systemstart eine Datei (/tmp/boot.txt) anlegen oder deren Zeitstempel aktualisieren, um den letzten Bootvorgang zu protokollieren. + +**So geht's:** + +Erstellen Sie eine neue systemd-Service-Datei: + +```shellscript +sudo nano /etc/systemd/system/touch-at-boot.service +``` + +Fügen Sie folgenden Inhalt ein: + +```ini +[Unit] +Description=Touch file at boot + +[Service] +Type=oneshot +ExecStart=/usr/bin/touch /tmp/boot.txt + +[Install] +WantedBy=multi-user.target +``` + +1. Datei speichern und schließen. +2. Service aktivieren und testen: + +```shellscript +sudo systemctl daemon-reload +sudo systemctl enable touch-at-boot.service +sudo systemctl start touch-at-boot.service +``` + +Nach jedem Neustart wird /tmp/boot.txt aktualisiert. + +**systemd-Unit erklärt:** + +```ini +[Unit]: Metadaten und Abhängigkeiten +Description: Kurze Beschreibung +[Service]: Was soll gemacht werden? +Type=oneshot: Einmaliger Befehl, kein dauerhafter Prozess der überwacht werden könnte +ExecStart: Der auszuführende Befehl +[Install]: Wann/wo soll der Service gestartet werden? +WantedBy=multi-user.target: Startet beim normalen Systemstart +``` + +**systemd-Kommandos:** + +```shellscript +sudo systemctl start # Service sofort starten +sudo systemctl enable # Service beim Boot aktivieren +sudo systemctl status # Status anzeigen +sudo systemctl stop # Service stoppen +``` + +**Wann nutze ich was?** + +* **Cronjob**: Für wiederkehrende Aufgaben (regelmäßig, z.B. jede Minute, stündlich, täglich) +* **systemd-Unit**: Für Aufgaben beim Systemstart, beim Herunterfahren oder bei bestimmten Ereignissen +```` diff --git a/mkdocs/docs/Einstieg_in_Linux-Desktop.md b/mkdocs/docs/Einstieg_in_Linux-Desktop.md new file mode 100644 index 0000000..1f90d06 --- /dev/null +++ b/mkdocs/docs/Einstieg_in_Linux-Desktop.md @@ -0,0 +1,87 @@ +````markdown +# Einstieg in Linux-Desktop + +## Warum Linux? Weil es mehr kann! +Linux ist nicht nur ein Betriebssystem – es ist **Freiheit**. Keine Lizenzkosten, keine erzwungenen Updates, keine Datensammelwut. Stattdessen: + +* **Volle Kontrolle** über dein System (keine Blackbox wie bei Windows/macOS). +* **Sicherheit** durch Open Source: Jeder kann den Code prüfen – Backdoors? Fehlanzeige! +* **Anpassbar** wie Lego: Von minimalistisch bis vollgepackt mit Tools – du entscheidest. +* **Perfekt für Entwickler, Maker & Tüftler**: Docker, Python, Server-Tools – alles läuft out-of-the-box. +* **Ressourcenschonend**: Läuft auch auf alter Hardware flüssig (z. B. als Media-Center oder NAS). + +**Ihr Ziel heute:** +Sie richten einen **Ubuntu-Desktop in VirtualBox** ein, lernen die Oberfläche kennen und setzten ein **Mini-Projekt** um: **Einen lokalen Webserver mit Python**, den sie später sogar von ihrem Host-PC aus aufrufen können. + +## Notieren Sie bei jedem Schritt: + +* Welche Menüpunkte oder Symbole Sie verwendet haben. +* Was Ihnen besonders leicht oder schwer gefallen ist. +* Fragen oder Auffälligkeiten, die Ihnen beim Arbeiten begegnen. + +## Benutzeroberfläche kennenlernen + +* Erkunden Sie die Menüstruktur und das Anwendungsmenü. +* Passen Sie die Taskleiste an (z.B. Position ändern, Plugins wie CPU- oder Temperaturanzeige hinzufügen). +* Nutzen Sie die Systemtray-Symbole (Netzwerk, Bluetooth, Lautstärke). +* Öffnen Sie verschiedene Fenster und probieren Sie das Fenster-Management aus (Minimieren, Maximieren, Schließen, ausrichten am Seitenrand). +* Finden Sie heraus, wie Sie Programme an die Taskleiste oder das Startmenü anheften können. + +## Tastatur-Layout und Sprache einstellen + +* Öffnen Sie die Systemeinstellungen. +* Stellen Sie das Tastatur-Layout auf Deutsch (oder Ihr gewünschtes Layout) um. +* Passen Sie die Systemsprache an. + +## Dateiverwaltung mit USB-Stick + +* Stecken Sie Ihren USB-Stick ein und öffnen Sie ihn im Dateimanager. +* Erstellen Sie auf dem USB-Stick einen neuen Ordner mit Ihrem Namen. +* Kopieren Sie eine Datei von der VM auf den USB-Stick und umgekehrt. +* Entfernen Sie den USB-Stick sicher über die grafische Oberfläche. + +## Sonderfall etz + +!!! warning **Wichtiger Hinweis:** + Damit alle Teilnehmer im Kurs effizient Updates und Software installieren können, wird im Schulungsnetzwerk ein lokaler Paket-Cache (Proxy) verwendet. + **Diesen Schritt müssen Sie außerhalb der Schulungsstätte (z.B. zu Hause) nicht durchführen!** + +So richten Sie den Proxy ein: + +1. Öffnen Sie ein Terminal (z.B. über das Startmenü). +2. Geben Sie folgenden Befehl ein (ersetzen Sie ggf. die IP-Adresse, durch die im Kurs verwendete): + + ```bash + echo 'Acquire::http::Proxy "http://10.10.224.119:3142";' | sudo tee /etc/apt/apt.conf.d/02proxy + ``` + +3. Fahren Sie anschließend wie gewohnt mit Updates und Installationen fort. + +## VLC Media Player installieren (grafisch) + +* Öffnen Sie den grafischen Paketmanager („Empfohlene Software“ oder „Add/Remove Software"). +* Suchen Sie nach „VLC“. +* Installieren Sie den VLC Media Player. + +Weitere Programme können Sie in einem kleinen Projekt ausprobieren: [Mein erstes kleines Linux Projekt](Mein_erstes_kleines_Linux-Projekt.md) + +## System aktualisieren + +* Öffnen Sie das grafische Update-Tool („Software Updater" oder „Update Manager"). +* Starten Sie die Systemaktualisierung und folgen Sie den Anweisungen. + +## Weiteren Benutzer anlegen und Rechte vergeben + +* Öffnen Sie die Einstellungen für „Benutzer und Gruppen". +* Erstellen Sie einen neuen Benutzer mit einem selbst gewählten Namen. +* Geben Sie diesem Benutzer Administratorrechte (Mitglied der Gruppe „sudo" oder „Administratoren"). + +## Remote-Zugriff einrichten und testen + +* Aktivieren Sie „SSH" und „RDP" für den Fernzugriff. +* Testen Sie den Remote-Zugriff auch von einem Windows-PC aus: + * Für SSH: Verwenden Sie z.B. das Programm „PuTTY" von ihrem Windows aus. + * Für RDP: Verwenden Sie Microsoft Remotedesktopverbindung + +Versuchen Sie die Remotezugriffe auf eigene Faust einzurichten. Falls Sie doch lieber eine Schritt-für-Schritt-Anleitung möchten, finden Sie diese [hier](Remotezugriff_einrichten.md). +```` diff --git a/mkdocs/docs/Grundlagen_der_Konsole.md b/mkdocs/docs/Grundlagen_der_Konsole.md new file mode 100644 index 0000000..e235c77 --- /dev/null +++ b/mkdocs/docs/Grundlagen_der_Konsole.md @@ -0,0 +1,256 @@ +````markdown +# Grundlagen der Konsole + +## Installation nützlicher Programme + +Bevor Sie beginnen, installieren Sie bitte folgende Programme, die Sie im Kurs benötigen: + +* nano: Einfache Textbearbeitung im Terminal +* tree: Anzeige von Ordnerstrukturen +* htop: Übersichtliche Systemüberwachung + +Führen Sie diesen Befehl im Terminal aus: + +```bash +sudo apt update +sudo apt install nano tree htop +``` + +## Wo befinden Sie sich? + +Lassen Sie sich das aktuelle Verzeichnis anzeigen. + +```bash +pwd +``` + +Kurzbeispielausgabe: +```bash +/home/benutzer +``` + +## Wechseln Sie in Ihr Home-Verzeichnis. + +Tipp: Das Home-Verzeichnis erreichen Sie mit: + +```bash +cd ~ +``` + +Kurzbeispielausgabe nach cd: + +```bash +pwd +/home/benutzer +``` + +## Erstellen Sie im Home-Verzeichnis einen Ordner „projekt". + +```bash +mkdir -p projekt +``` + +Prüfung: + +```bash +ls +projekt +``` + +## Erstellen Sie darin zwei Unterordner „dokumente" und „bilder". + +```bash +mkdir -p projekt/dokumente projekt/bilder +``` + +Prüfung: + +```bash +ls -lah projekt +``` + +## Wechseln Sie in den Ordner „projekt". + +```bash +cd projekt +``` + +Prüfung: + +```bash +pwd +/home/benutzer/projekt +``` + +## Erstellen Sie drei Textdateien: „notizen.txt", „aufgaben.txt", „ideen.txt". + +```bash +touch notizen.txt aufgaben.txt ideen.txt +``` + +Prüfung: + +```bash +ls -la +tree +``` + +## Erstellen Sie zwei Bilddateien (Platzhalter): „bild1.jpg" und „bild2.jpg". + +```bash +touch bild1.jpg bild2.jpg +``` + +Prüfung: + +```bash +ls -la +tree +``` + +## Kopieren Sie „notizen.txt" und „aufgaben.txt" in den Ordner „dokumente". + +```bash +cp notizen.txt aufgaben.txt dokumente/ +``` + +Prüfung: +```bash +tree +``` + +## Verschieben Sie „ideen.txt" in den Ordner „dokumente". + +```bash +mv ideen.txt dokumente/ +``` + +Prüfung: +```bash +tree -a +``` + +## Verschieben Sie „bild1.jpg" und „bild2.jpg" in den Ordner „bilder". + +```bash +mv bild1.jpg bild2.jpg bilder/ +``` + +Prüfung: +```bash +tree +``` + +## Zeigen Sie die Ordnerstruktur mit „tree" an. + +```bash +tree ~/projekt +``` + +Erweiterte Prüfung: +```bash +tree ~/projekt +``` + +## Öffnen Sie eine der Textdateien mit „nano" und schreiben Sie einen kurzen Text hinein. + +```bash +nano dokumente/notizen.txt +``` + +!!! note Speichern Sie mit strg+s, beenden Sie mit strg+X. + +Prüfung: +```bash +cat dokumente/notizen.txt +``` + +## Zeigen Sie Ihre aktuelle IP-Adresse an. + +```bash +ip address +``` + +Abgekürzte Beispielausgabe (IPv4): +```bash +2: eth0: <...> + inet 192.168.1.10/24 brd 192.168.1.255 scope global eth0 +``` + +Alternative: + +```bash +hostname -I +``` + +Beispielausgabe: +```bash +192.168.1.10 +``` + +## Überwachen Sie Ihr System mit „htop". + +```bash +htop +``` + +Abgekürzte Beispielausgabe (nicht-interaktiv, Snap‑Shot): +```bash +PID USER PRI NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND +1234 benutzer 20 0 150M 20M 8M S 1.2 0.5 0:01.23 python3 +567 root 20 0 50M 5M 3M S 0.5 0.1 0:00.45 sshd +``` + +## Zeigen Sie die Speicherauslastung an. + +```bash +df -h +``` + +Abgekürzte Beispielausgabe: +```bash +Filesystem Size Used Avail Use% Mounted on +/dev/sda1 50G 12G 36G 25% / +``` + +## Zeigen Sie die Arbeitsspeicher-Auslastung an. + +```bash +free -h +``` + +Abgekürzte Beispielausgabe: +```bash + total used free shared buff/cache available +Mem: 7.8G 1.2G 4.8G 50M 1.8G 6.1G +Swap: 2.0G 0B 2.0G +``` + +## Wie finden Sie Hilfe zu einem Befehl? + +```bash +man +``` + +Beispiel: + +```bash +man ls +``` +!!! attention Zum verlassen q oder strg+c + +## Zusatzaufgabe: +Erstellen Sie eine weitere Datei im Ordner „dokumente" und verschieben Sie diese anschließend in den Ordner „bilder". Zeigen Sie danach erneut die Struktur mit tree an. + +Beispiel: +```bash +touch dokumente/zusatz.txt +echo "Testinhalt" > dokumente/zusatz.txt +mv dokumente/zusatz.txt bilder/ +tree ~/projekt +``` + + +!!! success Viel Erfolg beim Erkunden der Linux-Befehle und beim Organisieren Ihrer Dateien! + +```` diff --git a/mkdocs/docs/Linux_Unternehmen/Praxisprojekt_Freigaben_im_Unternehmen.md b/mkdocs/docs/Linux_Unternehmen/Praxisprojekt_Freigaben_im_Unternehmen.md index 37a3e43..d0b98a0 100644 --- a/mkdocs/docs/Linux_Unternehmen/Praxisprojekt_Freigaben_im_Unternehmen.md +++ b/mkdocs/docs/Linux_Unternehmen/Praxisprojekt_Freigaben_im_Unternehmen.md @@ -136,7 +136,7 @@ Fügen Sie folgende Optionen global (unter [global]) oder pro Freigabe ein: recycle:touch = yes # Zeitstempel anpassen ```` ### 6.2 Automatische Bereinigung mit Cron -Fügen Sie einen [Cron-Job](../basics/Automatisierung_mit_cron_und_systemd.md) hinzu, um alte Dateien im Papierkorb zu löschen: +Fügen Sie einen [Cron-Job](Automatisierung_mit_cron_und_systemd.md) hinzu, um alte Dateien im Papierkorb zu löschen: ````bash sudo crontab -e ```` diff --git a/mkdocs/docs/Linux_Unternehmen/Server_Installation.md b/mkdocs/docs/Linux_Unternehmen/Server_Installation.md index 51efe54..7f2819a 100644 --- a/mkdocs/docs/Linux_Unternehmen/Server_Installation.md +++ b/mkdocs/docs/Linux_Unternehmen/Server_Installation.md @@ -248,4 +248,4 @@ Manuelles Backup mit rsync: sudo apt install rsync -y rsync -av /home/meisterkurs/ /backup/meisterkurs/ ```` -!!! note Die Ordner sollten natürlich vorhanden sein, und der User ausreichende Berechtigung dazu haben. Siehe [Ordner erstellen](../basics/Grundlagen_der_Konsole.md) bzw. Berechtigungen in der [Samba-Anleitung](../basics/Windows_Freigaben_fuer_Linux-Einsteiger.md). Wie das regelmäßg gemacht wird, haben Sie schon mit [cron](../basics/Automatisierung_mit_cron_und_systemd.md) gelernt. +!!! note Die Ordner sollten natürlich vorhanden sein, und der User ausreichende Berechtigung dazu haben. Siehe [Ordner erstellen](Grundlagen_der_Konsole.md) bzw. Berechtigungen in der [Samba-Anleitung](Windows_Freigaben_fuer_Linux-Einsteiger.md). Wie das regelmäßg gemacht wird, haben Sie schon mit [cron](Automatisierung_mit_cron_und_systemd.md) gelernt. diff --git a/mkdocs/docs/Linux_Unternehmen/nextcloud-ldap.md b/mkdocs/docs/Linux_Unternehmen/nextcloud-ldap.md index 54577ce..02f7cc9 100644 --- a/mkdocs/docs/Linux_Unternehmen/nextcloud-ldap.md +++ b/mkdocs/docs/Linux_Unternehmen/nextcloud-ldap.md @@ -217,7 +217,7 @@ Apache Neustarten und Fertig ## CronJob für regelmäßige Aktualisierung der Datenbank -NextCloud aktualisiert bei jedem Zugriff auf das Webinterface die Datenbank, allerdings kostet dies wertvolle Sekunden bei einem „Wohlfühl-Interface" daher aktivieren Wir einen [CronJob](../basics/Automatisierung_mit_cron_und_systemd.md) +NextCloud aktualisiert bei jedem Zugriff auf das Webinterface die Datenbank, allerdings kostet dies wertvolle Sekunden bei einem „Wohlfühl-Interface" daher aktivieren Wir einen [CronJob](Automatisierung_mit_cron_und_systemd.md) Die Aktion soll vom User www-data ausgeführt werden @@ -253,7 +253,7 @@ Nextcloud ermöglicht eine einfache Anpassung des Designs an Ihr Firmenlayout di * Favicon: [Favicon](./Nextcloud_Design/favicon.ico) ## LDAP -!!! note Konfiguration ``smb.conf`` bei einem [Samba AD-DC](../bonus/linux-als-ad-server.md) +!!! note Konfiguration ``smb.conf`` bei einem [Samba AD-DC](linux-als-ad-server.md) ````ini [global] ldap server require strong auth = no diff --git a/mkdocs/docs/Mein_erstes_kleines_Linux-Projekt.md b/mkdocs/docs/Mein_erstes_kleines_Linux-Projekt.md new file mode 100644 index 0000000..f2fd551 --- /dev/null +++ b/mkdocs/docs/Mein_erstes_kleines_Linux-Projekt.md @@ -0,0 +1,85 @@ +````markdown +# Mein erstes Linux Projekt + +**Aufgabe**: Installieren Sie **3 Programme** aus der Liste und dokumentieren: + +1. **Warum** haben Sie sie gewählt? +2. **Wie** haben Sie sie installiert (Terminal vs. Anwendungsverwaltung)? +3. **Was** können Sie damit machen? (z. B. Screenshot mit Flameshot, Backup mit Timeshift). + +## Tools für Einsteiger + +Warum diese Programme? Weil sie: + +* **Alltagsprobleme lösen** (z. B.Screenshots, PDFs bearbeiten). +* **Spaß machen** (z. B. Spiele, Medien). +* **Produktivität steigern** (z. B. Notizen, Cloud-Sync). +* **Linux spannender machen** (z. B. Terminal-Tools, System-Info). + +Hier sind praktische und nützliche Programme für Linux-Einsteiger, die nicht standardmäßig in Linux Mint vorinstalliert sind -- sortiert nach Kategorien mit klarem Nutzen und Istallationsbefehlen falls nicht über die Programmsuche findbar. + +## Tipps + +1. **Anwendungsverwaltung / Ubuntu Software-Center**: +Manche Programme (z. B. GIMP) gibt es dort mit **Bewertungen** - hilfreich für Einsteiger! +2. **Flatpak vs. APT**: +* **Flatpak** (````sudo flatpak install \...````): Einfacher, aber manchmal langsamer. +* **APT** (````sudo apt install \...````): Schneller, aber manuell Updates nötig. + +--- + +## Medien & Unterhaltung + +| **Programm** | **Nutzen** | **Installationsbefehl** | +|---------------|--------------------------------------|-------------------------| +| **Kdenlive** | Video-Schnitt (einfacher als OpenShot,aber mächtiger). | sudo apt install kdenlive | +| **Spotify** | Musik-Streaming (offizielle Linux-App). | sudo flatpak install spotify | +| **GIMP** | Bildbearbeitung (Photoshop-Alternative). | sudo apt install gimp | +| **OBS Studio** | Bildschirmaufnahmen & Livestreams. | sudo apt install obs-studio | +| **Stacer** | System-Optimierung (wie CCleaner für Linux) | sudo apt install stacer | + +--- + +## Produktivität & Office + +|**Programm** | **Nutzen** | **Installationsbefehl** | +| ----------------|--------------------------------|---------------------------| +|**OnlyOffice** | Kompatibler mit MS Office (bessere Formatierung als LibreOffice). | sudo flatpak install onlyoffice-desktopeditors | +| **Flameshot** | Screenshots mit Bearbeitung (besser als gnome-screenshot). | sudo apt install flameshot | +| **KeePassXC** | Passwort-Manager (sicher & offline).| sudo apt install keepassxc| +| **Nextcloud Client** | Cloud-Sync (z. B. für Meisterkurs/Arbeit). | sudo apt install nextcloud-desktop | + +--- + +## System & Tools + +| **Programm** | **Nutzen** | **Installationsbefehl** +|---------------|----------------------------------|---------------------------| +| **Timeshift** | System-Backups (wie "Wiederherstellungspunkt" in Windows). | sudo apt install timeshift | +| **GParted** | Partitionen verwalten (z. B. USB-Sticks formatieren). | sudo apt install gparted | +| **Neofetch** | Zeigt coole System-Infos im Terminal (Motivation!). | sudo apt install neofetch (dann ````neofetch```` eingeben) | +| **htop** | Bessere Task-Manager-Alternative. | sudo apt install htop (dann ````htop```` eingeben) | +| **Guake** | Dropdown-Terminal (nach start mit F12 ein-/ausblenden). | sudo apt install guake | + +--- + +## Spiele & Spaß +| **Programm** | **Nutzen** |**Installationsbefehl**| +| ------------------|----------------------------------- |-------------------------| +| **Steam** |Spiele-Plattform (viele Linux-Spiele verfügbar). | sudo apt install steam | +| **Lutris** |Spiele-Manager für Windows-Spiele (via Wine). | sudo apt install lutris | +| **SuperTuxKart** |Mario-Kart-ähnliches Rennspiel (Open Source). | sudo apt install supertuxkart | +| **0 A.D.** |Strategie-Spiel (wie Age of Empires). | sudo apt install 0ad | + +------------------------------------------------------------------------ + +## Entwicklung & Tüfteln + +| **Programm** | **Nutzen** | **Installationsbefehl** | + --------------- |-----------------------------------| -------------------------| +| **VS Code** | Code-Editor (besser als Gedit). | sudo flatpak install \--classic code| +| **Docker** | Container für Projekte (z. B. Webserver, Datenbanken). | sudo apt install docker.io| +| **GitKraken** | Git-Client mit GUI (einfacher als Terminal). | sudo flatpak install gitkraken |\--classic | +| **Postman** | API-Testing (für Web-Entwickler). | sudo flatpak install postman| + +```` diff --git a/mkdocs/docs/Praxisprojekt_Freigaben_im_Unternehmen.md b/mkdocs/docs/Praxisprojekt_Freigaben_im_Unternehmen.md new file mode 100644 index 0000000..c1cf1c9 --- /dev/null +++ b/mkdocs/docs/Praxisprojekt_Freigaben_im_Unternehmen.md @@ -0,0 +1,8 @@ +`````markdown +# Praxisprojekt Freigaben im Unternehmen + +Anleitung zur Erstellung und Verwaltung von zentralen Freigaben im Unternehmensnetz. + +... (Inhalt übernommen) + +````` diff --git a/mkdocs/docs/Praxisprojekt_Medien-NAS_fuer_KODI.md b/mkdocs/docs/Praxisprojekt_Medien-NAS_fuer_KODI.md new file mode 100644 index 0000000..1bf59c7 --- /dev/null +++ b/mkdocs/docs/Praxisprojekt_Medien-NAS_fuer_KODI.md @@ -0,0 +1,234 @@ +`````markdown +# Praxisprojekt Medien-NAS für KODI +![enter image description here](https://upload.wikimedia.org/wikipedia/commons/thumb/2/25/Kodi-logo-Thumbnail-light-transparent.png/250px-Kodi-logo-Thumbnail-light-transparent.png){align=right} +## Ziel des Projekts + +Aufgebaut wird ein **Medien-Server mit Samba**, auf den **Windows-Clients** Medien (Musik, Videos, Bilder, ROMs) per **Windows-Freigabe** ablegen, und den eine **Kodi-VM** wiederum per SMB einbindet. +## 1. Vorbereitung + +### 1.1 Voraussetzungen + +* Linux-Server (z. B. Ubuntu 24.04 LTS oder Linux Mint) +* Samba ist installiert und läuft +* Windows-PC im gleichen Netzwerk (legt Medien per Freigabe ab) +* Virtuelle Maschine (z. B. VirtualBox) mit: + * Linux Mint + Kodi **oder** + * Direkt in Windows +* Netzwerkzugriff zwischen Server, Windows-PC und VM + +### 1.2 Samba-Grundkonfiguration prüfen + +Konfigurationsdatei öffnen: + +````bash +sudo nano /etc/samba/smb.conf +```` + +Minimal sinnvoller globaler Abschnitt (Beispiel): + +````ini +[global] +workgroup = WORKGROUP +server string = %h Samba Server + +security = user + +server min protocol = SMB2 +client min protocol = SMB2 + +unix charset = UTF-8 +ntlm auth = yes + +log file = /var/log/samba/log.%m +max log size = 1000 +```` + +Samba testen und Dienst starten: + +````bash +sudo samba-tool testparm +sudo systemctl restart smbd +```` + +## 2. Medienverzeichnisse für Samba anlegen + +Die Medien sollen vom Windows-Client aus über freigegebene Ordner auf dem Server landen. Hierfür müssen Ordner mit passenden Rechten angelegt werden. + +### 2.1 Ordnerstruktur anlegen + +````bash +sudo mkdir -p /srv/samba/{musik,videos,bilder,roms} +```` +````-p```` erzeugt alle notwendigen Ordner darüber +die Worte in den geschweiften Klammern ````{}```` werden nacheinander mit im Befehl ersetzt + +### 2.2 Rechte für einfache (Gast-)Nutzung setzen + +````bash +sudo chown -R nobody:nogroup /srv/samba/{musik,videos,bilder,roms} +sudo chmod -R 775 /srv/samba/{musik,videos,bilder,roms} +```` +* `nobody:nogroup`: typischer Besitzer für anonyme Zugriffe +* `775`: Besitzer/Gruppe Vollzugriff, andere lesen + ausführen + +## 3. Samba-Freigaben für Medien einrichten + +Freigaben in der Datei ````smb.conf```` anhängen: + +````ini + +[Musik] +comment = Musik-Freigabe +path = /srv/samba/musik +browseable = yes +read only = no +guest ok = yes +force create mode = 0664 +force directory mode = 0775 + +[Videos] +comment = Video-Freigabe +path = /srv/samba/videos +browseable = yes +read only = no +guest ok = yes +force create mode = 0664 +force directory mode = 0775 + +[Bilder] +comment = Bilder-Freigabe +path = /srv/samba/bilder +browseable = yes +read only = no +guest ok = yes +force create mode = 0664 +force directory mode = 0775 + +[ROMs] +comment = ROMs für Retro-Spiele +path = /srv/samba/roms +browseable = yes +read only = no +guest ok = yes +force create mode = 0664 +force directory mode = 0775 +```` +Samba testen und Dienst starten: + +````bash +sudo samba-tool testparm +sudo systemctl restart smbd +```` +## 4. Medien vom Windows-PC auf den Server kopieren + +### 4.1 Freigaben von Windows aus verbinden + +Auf dem Windows-PC im Explorer: +```` +\\IP_DES_SERVERS\Musik +\\IP_DES_SERVERS\Videos +\\IP_DES_SERVERS\Bilder +\\IP_DES_SERVERS\ROMs +```` +Falls Gastzugriff erlaubt ist (`guest ok = yes`), kann meist ohne Benutzername/Passwort zugegriffen werden. +In produktiven Szenarien sollten stattdessen Benutzerkonten und `guest ok = no` verwendet werden. +### 4.2 Medien kopieren + +* Auf dem Windows-PC: + * Musik-Dateien nach `\\IP\\Musik` kopieren + * Video-Dateien nach `\\IP\\Videos` + * Bilder nach `\\IP\\Bilder` + * ROMs (z. B. `.nes`, `.sfc`, `.iso`) nach `\\IP\\ROMs` + +Zur Kontrolle auf dem Server: +````bash +ls /srv/samba/musik +ls /srv/samba/videos +ls /srv/samba/bilder +ls /srv/samba/roms +```` + +## 5. Kodi installieren + +## 5.1 Option A: Kodi auf Ubuntu-Desktop +Installieren Sie das Programm KODI aus der Softwaresammlung oder: +````bash +sudo apt update +sudo apt install kodi +```` +## 5.2 Option B: Kodi auf Windows +Laden Sie Kodi von der [Homepage kodi.tv](https://kodi.tv/download/) herunter und instlalieren Sie + +## 6. Samba-Freigaben in Kodi einbinden + +### 6.1 Netzwerkfreigaben als Quellen hinzufügen + +In Kodi: + +1. **Dateimanager** öffnen +2. **Quelle hinzufügen** +3. **Durchsuchen → Netzwerkfreigabe hinzufügen → SMB** +4. Server-IP eintragen (z. B. `192.168.178.50`) +5. Freigabe auswählen, z. B.: + * `Musik` + * `Videos` + * `Bilder` + * `ROMs` + +Wenn `guest ok = yes` gesetzt ist, kann meist mit **Gast** zugegriffen werden. +Bei Benutzerauthentifizierung: + +* Benutzername: Samba-Benutzer (z. B. `medienuser`) +* Passwort: entsprechend `smbpasswd` + +Quelle benennen, z. B. „Musik-Samba“. + +### 6.2 Medienbibliothek einrichten + +#### Musik + +1. In Kodi zu **Musik → Dateien** +2. Quelle „Musik-Samba“ auswählen +3. Kontextmenü (Rechtsklick oder Menütaste) → **Zur Bibliothek hinzufügen** +4. Scraper wählen (z. B. „Universal Album Scraper") + +#### Videos + +Analog: + +1. **Filme/Serien → Dateien** +2. Quelle „Videos-Samba“ auswählen +3. **Inhalt festlegen** → Typ (Filme, Serien…) +4. Passenden Scraper wählen + +#### Bilder + +Unter **Bilder** Quellen hinzufügen und direkt als Bilderquelle verwenden. + +## 7. Kodi anpassen + +### 7.1 Wetter-Add-on + +1. **Add-ons → Aus Repository installieren → Wetter** +2. Ein Wetter-Add-on (z. B. OpenWeatherMap) auswählen +3. Installieren +4. In den Add-on-Einstellungen: + * API-Schlüssel eintragen (bei Bedarf vorher erstellen) + * Standort konfigurieren (z. B. „Berlin, DE") + +### 7.2 Retro-Spiele (ROMs) + +1. **Add-ons → Aus Repository installieren → Spiele → Emulator-Add-ons** +2. Passende Emulatoren (z. B. für NES, SNES, PlayStation) installieren +3. In den Emulator-Einstellungen: + * ROM-Pfade hinzufügen, z. B. `smb://192.168.178.50/ROMs` +Mehr Funktionen was Spielen angeht müssen Sie sich im Netz informieren. + +### 7.3 Skin anpassen + +1. **Einstellungen → Oberfläche → Skin** +2. „Weitere Skins herunterladen“ auswählen +3. Z. B. **Estuary Mod V2** installieren +4. Aktivieren → Kodi neustarten + +````` \ No newline at end of file diff --git a/mkdocs/docs/Remotezugriff_einrichten.md b/mkdocs/docs/Remotezugriff_einrichten.md new file mode 100644 index 0000000..c6988da --- /dev/null +++ b/mkdocs/docs/Remotezugriff_einrichten.md @@ -0,0 +1,118 @@ +````markdown +# Remote-Zugriff auf Linux Mint von Windows aus (GUI-basiert) + +Diese Anleitung zeigt Schritt für Schritt, wie Sie von einem Windows-Rechner aus auf ein Linux‑Mint‑System zugreifen: + +1. Zuerst richten Sie **grafischen Remote-Desktop** mit **xrdp** und der Windows-Remotedesktop-App ein und testen ihn direkt. +2. Anschließend richten Sie den **SSH-Zugriff** mit **PuTTY** ein und testen ihn ebenfalls sofort. + +## 1. Grafischer Remote-Desktop mit xrdp + +### 1.1 xrdp auf Linux Mint installieren + +1. Melden Sie sich lokal an Ihrem **Linux‑Mint‑Rechner** an. +2. Öffnen Sie das **Menü** und starten Sie die **Anwendungsverwaltung** (Software-Manager). +3. Geben Sie oben im Suchfeld **„xrdp“** ein. +4. Wählen Sie den Eintrag **„xrdp“** aus. +5. Klicken Sie auf **„Installieren“** und geben Sie bei Nachfrage Ihr Passwort ein. +6. Warten Sie, bis die Installation abgeschlossen ist – der Dienst startet danach automatisch. + +!!! tip Hinweis: Bei der Installation legt xrdp automatisch die Gruppe **„xrdp“** an. Nur Benutzer dieser Gruppe dürfen sich per Remote Desktop anmelden. + +### 1.2 Benutzer grafisch der Gruppe „xrdp“ hinzufügen + +1. Öffnen Sie das **Menü**. +2. Gehen Sie zu **„Einstellungen“ → „Benutzer und Gruppen“** (oder ähnlich benannter Eintrag). +3. Bestätigen Sie bei Bedarf mit Ihrem Passwort. +4. Wählen Sie in der Benutzerliste den gewünschten Benutzer (z. B. `meister`) aus. +5. Klicken Sie auf **„Gruppen verwalten“** oder **„Erweiterte Einstellungen“**. +6. In der Liste der Gruppen setzen Sie ein **Häkchen** bei **„xrdp“**. +7. Bestätigen Sie mit **„OK“**, **„Anwenden“** oder **„Speichern“**. +8. Melden Sie den Benutzer einmal **ab und wieder an**, damit die Gruppenzugehörigkeit aktiv wird. + +### 1.3 IP-Adresse von Linux Mint ohne Terminal ermitteln + +1. Klicken Sie unten rechts in der Panel-Leiste auf das **Netzwerksymbol** (LAN oder WLAN). +2. Wählen Sie **„Verbindungsinformationen“** oder **„Netzwerkverbindungen“**. +3. In den Verbindungsdetails sehen Sie die **IPv4-Adresse**, z. B. `192.168.1.50`. +4. Notieren Sie sich diese Adresse – sie wird gleich für den Test benötigt. + +### 1.4 Remote Desktop von Windows aus testen + +1. Wechseln Sie an Ihren **Windows-Rechner**. +2. Öffnen Sie das Startmenü und suchen Sie nach **„Remotedesktopverbindung“** oder geben Sie `mstsc` in die Suche ein. +3. Starten Sie die Anwendung **„Remotedesktopverbindung“**. +4. Im Feld **„Computer“** tragen Sie die IP-Adresse des Linux‑Mint‑Rechners ein, z. B. `192.168.1.50`. +5. Optional: Klicken Sie auf **„Optionen einblenden“**, um Anzeigeeinstellungen anzupassen. +6. Klicken Sie auf **„Verbinden“**. +7. Beim ersten Verbindungsaufbau erscheint ein Hinweis zur Identität des Remotecomputers: + * Bestätigen Sie mit **„Ja“**. +8. Es erscheint der **xrdp-Anmeldebildschirm**: + * Sitzungsart: **„Xorg“** belassen (Standard) + * **Benutzername**: z. B. `meister` + * **Passwort**: Passwort des Linux-Kontos +9. Klicken Sie auf **„OK“** oder **„Anmelden“**. + +Nach kurzer Zeit sollte der Linux‑Mint‑Desktop in einem Fenster auf Ihrem Windows-Rechner erscheinen. +Sie haben damit den ersten Erfolg: grafischer Remote-Zugriff funktioniert. + +--* + +## 2. Textbasierter Zugriff mit SSH und PuTTY + +Nach dem erfolgreichen grafischen Zugriff richten Sie nun den SSH-Zugriff ein. + +### 2.1 OpenSSH-Server über die Anwendungsverwaltung installieren + +1. Melden Sie sich (falls nötig) wieder lokal an Ihrem **Linux‑Mint‑Rechner** an. +2. Öffnen Sie das **Menü** und starten Sie erneut die **Anwendungsverwaltung**. +3. Geben Sie im Suchfeld **„OpenSSH Server“** oder **„openssh-server“** ein. +4. Wählen Sie den Eintrag **„OpenSSH Server“** aus. +5. Klicken Sie auf **„Installieren“** und geben Sie Ihr Passwort ein. +6. Warten Sie, bis die Installation abgeschlossen ist – der SSH-Dienst startet automatisch und wird beim Systemstart aktiviert. + +!!! tip Die IP-Adresse bleibt dieselbe wie im Remote-Desktop-Teil; sie muss nicht neu gesucht werden. + + + +### 2.2 PuTTY auf Windows installieren + +1. Öffnen Sie auf dem **Windows-Rechner** den Webbrowser. +2. Rufen Sie die offizielle PuTTY-Downloadseite auf, z. B.: + `https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html` +3. Laden Sie den **64‑Bit Windows Installer** herunter. +4. Starten Sie den Installer per Doppelklick und folgen Sie dem Assistenten (Standardeinstellungen reichen). +5. Nach der Installation finden Sie **PuTTY** im Startmenü. + + +### 2.3 SSH-Verbindung mit PuTTY testen + +1. Starten Sie **PuTTY** über das Windows-Startmenü. +2. Im Feld **„Host Name (or IP address)"** tragen Sie die IP-Adresse des Linux‑Mint‑Rechners ein, z. B. `192.168.1.50`. +3. Prüfen Sie: + * **Port**: `22` + * **Connection type**: `SSH` +4. Optional: + * Geben Sie unter **„Saved Sessions"** einen Namen wie `Mint-SSH` ein. + * Klicken Sie auf **„Save"**, um die Sitzung zu speichern. +5. Klicken Sie auf **„Open"**. +6. Beim ersten Verbindungsaufbau erscheint ein Sicherheitshinweis zum Server-Schlüssel: + * Bestätigen Sie mit **„Accept"** bzw. **„Ja"**. +7. Geben Sie im Terminalfenster den **Benutzernamen** Ihres Linux-Kontos ein und drücken Sie Enter. +8. Geben Sie anschließend Ihr **Passwort** ein (es wird beim Tippen nicht angezeigt) und bestätigen Sie mit Enter. + +Sie sind nun per SSH mit Linux Mint verbunden und können textbasierte Befehle ausführen, Konfigurationsdateien bearbeiten und Protokolle ansehen. + +--- + +## 3. Kurzer Überblick: Was wurde erreicht? + +* **xrdp + Remotede sktop**: + * Grafischer Zugriff auf den Linux‑Mint‑Desktop von Windows aus + * Benutzersteuerung über die bestehende Gruppe **„xrdp"** + +* **OpenSSH-Server + PuTTY**: + * Textbasierter Zugriff (Shell) auf Linux Mint + * Ideal für Administration, Skripte und Log-Analyse + +```` diff --git a/mkdocs/docs/Server_Installation.md b/mkdocs/docs/Server_Installation.md new file mode 100644 index 0000000..e550a3c --- /dev/null +++ b/mkdocs/docs/Server_Installation.md @@ -0,0 +1,10 @@ +`````markdown +# Ubuntu Server installieren und vorbereiten + +## 1. Vorbereitung der virtuellen Maschine in VirtualBox +... (Inhalt übernommen) + +## Erste Schritte nach der Installation +... (Inhalt übernommen) + +````` diff --git a/mkdocs/docs/Windows_Freigaben_fuer_Linux-Einsteiger.md b/mkdocs/docs/Windows_Freigaben_fuer_Linux-Einsteiger.md new file mode 100644 index 0000000..9b2eab3 --- /dev/null +++ b/mkdocs/docs/Windows_Freigaben_fuer_Linux-Einsteiger.md @@ -0,0 +1,397 @@ +`````markdown +# Samba-Konfiguration für Linux-Einsteiger +![enter image description here](https://upload.wikimedia.org/wikipedia/commons/thumb/d/db/Samba_logo_2010.svg/330px-Samba_logo_2010.svg.png) +## Einführung in Samba +**Samba** ist eine Open-Source-Software, die es Linux-Systemen ermöglicht, **Datei* und Druckdienste** für Windows-, macOS* und andere Linux-Clients bereitzustellen. Samba implementiert das **SMB/CIFS-Protokoll** (Server Message Block / Common Internet File System), das in Windows-Netzwerken standardmäßig verwendet wird. + +### Wichtige Anwendungsfälle: +* **Dateifreigaben** im lokalen Netzwerk (z. B. für Medien, Dokumente oder Backups). +* **Druckerfreigaben** für Windows-Clients. +* **Zentraler Speicher** für mehrere Nutzer (z. B. in kleinen Büros oder Heimnetzwerken). + +### Voraussetzungen: +* Ein **Linux-Server** (z. B. Ubuntu, Debian, Raspberry Pi OS). +* **Root-Zugriff** oder ````sudo````-Berechtigungen. +* Grundkenntnisse in der **Linux-Kommandozeile**. + +--- + +## Installation von Samba + +### 1. Paketdatenbank aktualisieren +```bash +sudo apt update && sudo apt upgrade -y +``` +### 2. Samba installieren +````bash +sudo apt install samba +```` +### 3. Dienststatus prüfen +````bash +sudo systemctl status smbd +```` + +> Erwarteter Output: active (running). +Falls nicht aktiv: sudo systemctl start smbd und sudo systemctl enable smbd. + +Zum verlassen ````q```` oder ````strg + c```` + +## Die Konfigurationsdatei smb.conf +Die zentrale Konfigurationsdatei /etc/samba/smb.conf steuert das Verhalten des Samba-Servers. Sie ist in zwei Hauptbereiche unterteilt: + +**[global]**: Globale Einstellungen für den gesamten Server. +**[Freigabename]**: Definition einzelner Freigaben (Ordner, Drucker). +### Globale Einstellungen ````[global]```` +Die globalen Einstellungen gelten für alle Freigaben, sofern sie nicht in einer Freigabe überschrieben werden. +Wichtige Optionen für einen Standalone-Server: +````ini + +[global] + # Netzwerk-Identifikation + workgroup = WORKGROUP # Name der Arbeitsgruppe (wie in Windows) + server string = %h server (Samba, Ubuntu) # Beschreibung des Servers (%h = Hostname) + + # Netzwerk-Interfaces + interfaces = 127.0.0.0/8 eth0 # Auf welchen Interfaces soll Samba laufen? + bind interfaces only = yes # Nur auf den genannten Interfaces + + # Protokollierung + log file = /var/log/samba/log.%m # Log-Datei pro Client (%m = Client-Name) + max log size = 1000 # Maximale Log-Größe in KB + logging = file # Logs nur in Dateien (nicht syslog) + + # Sicherheit + server role = standalone server # Server arbeitet allein (keine Domain) + map to guest = bad user # Unbekannte Nutzer werden als "Gast" behandelt + obey pam restrictions = yes # Nutzer müssen Linux-PAM-Regeln einhalten + unix password sync = yes # Samba-Passwort ändert auch Linux-Passwort + passwd program = /usr/bin/passwd %u # Programm zum Ändern des Passworts + pam password change = yes # PAM für Passwort-Änderungen nutzen + + # Nutzerfreigaben + usershare allow guests = yes # Gäste dürfen auf Nutzerfreigaben zugreifen +```` +Hinweise: +```` +; oder #: +; = Deaktivierter Vorschlag (kann aktiviert werden). +# = Standardwert (wird auch ohne Angabe genutzt). +```` +Platzhalter: +```` +%h = Hostname des Servers. +%m = Name des Clients. +%S = Name der aktuellen Freigabe. +```` +#### Anpassungen an Windows 11 +Fügen sie unterhalb dieser Einstellungen im noch im Bereich [Global] : +````ini + # Protokolle und Kompatibilität + server min protocol = SMB2 + smb encrypt = desired +```` +### Freigaben definieren +Freigaben werden in eigenen Abschnitten definiert, z. B. [Musik] oder [Dokumente]. Jede Freigabe hat einen Namen (erscheint im Netzwerk) und Optionen für Zugriffsrechte. +Grundlegende Optionen: + +|Option |Bedeutung |Beispiel | +|--------------|------------------------------------------------------------------------|--------------------------| +|comment |Beschreibung der Freigabe (erscheint im Explorer). |comment = Medienarchiv | +|path |Pfad zum freigegebenen Ordner. |path = /srv/samba/musik | +|browseable |yes: Freigabe ist im Netzwerk sichtbar. no: Nur mit direktem Pfad. |browseable = yes | +|read only |yes: Nur Lesezugriff. no: Schreibzugriff erlaubt. |read only = no | +|guest ok |yes: Gäste (ohne Passwort) dürfen zugreifen. |guest ok = yes | +|valid users |Liste der Nutzer/Gruppen, die überhaupt zugreifen dürfen. |valid users = @mitarbeiter| +|write list |Liste der Nutzer/Gruppen, die schreiben dürfen (überschreibt read only).|write list = @teamleitung | +|create mask |Berechtigungen für neue Dateien (oktal). |create mask = 0664 | +|directory mask|Berechtigungen für neue Ordner (oktal). |directory mask = 0775 | +|force group |Neue Dateien/Ordner gehören automatisch zu dieser Gruppe. |force group = mitarbeiter | + +#### Sonderfälle: Home-Verzeichnisse und Drucker +1. Nutzer-Home-Verzeichnisse +Jeder Nutzer kann automatisch auf sein eigenes Home-Verzeichnis zugreifen: +````ini + +[homes] + comment = Persönlicher Ordner + browseable = no # Nur der eigene Nutzer sieht die Freigabe + read only = no # Nutzer darf schreiben + valid users = %S # %S = aktueller Nutzer (z. B. "felix") + create mask = 0700 # Neue Dateien: rwx------ + directory mask = 0700 # Neue Ordner: rwx------ +```` + 2. Druckerfreigabe +Samba kann Drucker für Windows-Clients freigeben: +````ini + +[printers] + comment = Alle Drucker + path = /var/spool/samba # Spoolfolder für Druckaufträge + browseable = no # Drucker sind nicht im Explorer sichtbar + printable = yes # Erlaubt Druckaufträge + guest ok = no # Nur authentifizierte Nutzer dürfen drucken + +[print$] + comment = Druckertreiber + path = /var/lib/samba/printers + browseable = yes + read only = yes + guest ok = no + write list = root, @lpadmin # Nur Admins dürfen Treiber hochladen +```` + + +## Rechteverwaltung unter Linux +Die korrekte Vergabe von Datei* und Ordnerrechten ist essenziell für die Sicherheit und Funktionalität von Samba-Freigaben. +### ````chown````: Besitzer und Gruppe ändern +Jede Datei/Ordner gehört einem **Besitzer (User)** und einer **Gruppe (Group)**. +Syntax: +````bash +sudo chown [BESITZER]:[GRUPPE] [DATEI/ORDNER] +```` +Beispiele: + +|Befehl| Wirkung| +|-|-| +|sudo chown felix:mitarbeiter /srv/samba|Besitzer: felix, Gruppe: mitarbeiter. | +|sudo chgrp mitarbeiter /srv/samba|Ändert nur die Gruppe auf mitarbeiter. | +|sudo chown -R nobody:mitarbeiter /srv/samba|Rekursiv: Besitzer: nobody, Gruppe: mitarbeiter für alle Unterordner/Dateien.| + + +Hinweise: + +**sudo** ist erforderlich, wenn Sie nicht der Besitzer sind. +**-R** (rekursiv): Wendet die Änderung auf alle Unterordner/Dateien an. +**Samba-Empfehlung**: Für Freigaben oft nobody oder root als Besitzer und eine **spezifische Gruppe** (z. B. mitarbeiter) verwenden. + +### ````chmod````: Zugriffsrechte setzen +Die Zugriffsrechte werden für **drei Kategorien** von Nutzern definiert: + +**Besitzer (User)**: Der Nutzer, dem die Datei/der Ordner gehört. +**Gruppe (Group)**: Die Gruppe, der die Datei/der Ordner zugeordnet ist. +**Andere (Others)**: Alle anderen Nutzer. + +Jede Kategorie kann drei Rechte haben: + +````r```` **(Read)**: Lesen. +````w```` **(Write)**: Schreiben. +````x```` **(Execute)**: Ausführen (bei Ordnern: Betreten). +#### Symbolische Darstellung: +```` +rwx r-x r-- +│ │ │ +│ │ └─ Andere (Others): Lesen (r), kein Schreiben (–), kein Ausführen (–) +│ └───── Gruppe (Group): Lesen (r), kein Schreiben (–), Ausführen (x) +└───────── Besitzer (User): Lesen (r), Schreiben (w), Ausführen (x) +```` +#### Oktal-Darstellung: +Jedes Recht wird durch eine **Zahl** repräsentiert: + +````r```` = 4 +````w```` = 2 +````x```` = 1 +Die Rechte für jede Kategorie werden **addiert**: + +|Rechte|Oktal-Wert|Bedeutung | +|------|----------|---------------------| +|````---```` |0 |Keine Rechte | +|````--x```` |1 |Nur Ausführen | +|````-w-```` |2 |Nur Schreiben | +|````-wx```` |3 |Schreiben + Ausführen| +|````r--```` |4 |Nur Lesen | +|````r-x```` |5 |Lesen + Ausführen | +|````rw-```` |6 |Lesen + Schreiben | +|````rwx```` |7 |Vollzugriff | +```` + +Die Oktal-Modi für alle drei Kategorien werden kombiniert: + +* ````755```` = ````rwxr-xr-x```` (Besitzer: Vollzugriff, Gruppe/Andere: Lesen + Ausführen) +* ````644```` = ````rw-r--r--```` (Besitzer: Lesen + Schreiben, Gruppe/Andere: Nur Lesen) +* ````770```` = ````rwxrwx---```` (Besitzer/Gruppe: Vollzugriff, Andere: Keine Rechte) + +Syntax von chmod: +````bash +sudo chmod [OPTIONEN] [RECHTE] [DATEI/ORDNER] +```` + +* ````RECHTE````: Symbolisch (z. B. ````u=rwx,g=rx,o=rx````) oder oktal (z. B. ````755````). +* ````OPTIONEN````: + + * ````-R````: Rekursiv (für alle Unterordner/Dateien). + +#### Beispiele: + +|Befehl |Wirkung | +|----------------------------|---------------------------------------------| +|sudo chmod 755 /srv/samba |Besitzer: rwx, Gruppe/Andere: r-x. | +|sudo chmod 644 datei.txt |Besitzer: rw-, Gruppe/Andere: r--. | +|sudo chmod -R 770 /srv/samba|Rekursiv: Besitzer/Gruppe: rwx, Andere: ---. | +|sudo chmod u+x skript.sh |Fügt dem Besitzer das Ausführrecht (x) hinzu.| + +Samba-spezifische Empfehlungen: + +**Freigabe-Ordner:** + +* ````775```` ````(rwxrwxr-x)````: Besitzer und Gruppe haben Vollzugriff, Andere dürfen lesen und Ordner betreten. +* ````770```` ````(rwxrwx---)````: Nur Besitzer und Gruppe haben Zugriff (empfohlen für sensible Daten). + +**Dateien in Freigaben:** + +* ````664```` ````(rw-rw-r--)````: Besitzer und Gruppe dürfen lesen/schreiben, Andere nur lesen. +* ````660```` ````(rw-rw----)````: Nur Besitzer und Gruppe dürfen lesen/schreiben. + + +### Gruppenverwaltung +Gruppen ermöglichen die zentrale Steuerung von Zugriffsrechten für mehrere Nutzer. +#### 1. Nutzer und Gruppe erstellen: +````bash +sudo adduser felix +sudo addgroup mitarbeiter +```` +#### 2. Nutzer einer Gruppe hinzufügen: +````bash + +sudo usermod -aG mitarbeiter felix # Fügt "felix" der Gruppe "mitarbeiter" hinzu. +```` + +**````-aG````**: ````-a```` (append) stellt sicher, dass der Nutzer nicht aus anderen Gruppen entfernt wird. +#### 3. Gruppe einer Datei/Ordner zuweisen: +````bash + +sudo chgrp mitarbeiter /srv/samba/dokumente # Setzt die Gruppe auf "mitarbeiter". +sudo chmod 770 /srv/samba/dokumente # Gruppe erhält Vollzugriff. +```` +#### 4. Gruppe in Samba nutzen: +````ini + +[Dokumente] + path = /srv/samba/dokumente + valid users = @mitarbeiter # Nur Nutzer der Gruppe "mitarbeiter" dürfen zugreifen. + write list = @teamleitung # Nur Gruppe "teamleitung" darf schreiben. + force group = mitarbeiter # Neue Dateien/Ordner gehören automatisch zur Gruppe "mitarbeiter". +```` + +## Samba-Freigaben in der Praxis +### Beispiel 1: Öffentliche Freigabe +Anwendungsfall: Medienfreigabe für alle Nutzer im Netzwerk (z. B. Musik, Filme). +**Schritt 1: Ordner erstellen und Rechte setzen** +````bash +sudo mkdir -p /srv/samba/medien +sudo chown nobody:nogroup /srv/samba/medien # Besitzer: "nobody", Gruppe: "nogroup" +sudo chmod 777 /srv/samba/medien # Temporär volle Rechte (für Test) +```` +**Schritt 2: Freigabe in smb.conf definieren** +````ini +[Medien] + comment = öffentliche Medienfreigabe + path = /srv/samba/medien + browseable = yes + read only = no + guest ok = yes +```` +**Schritt 3: Samba neu starten** +````bash +sudo systemctl restart smbd +```` +**Schritt 4: Von Windows aus testen** +> Im Explorer: ````\\\\Medien```` eingeben. + +### Beispiel 2: Eingeschränkte Freigabe +Anwendungsfall: Vertrauliche Dokumente für bestimmte Nutzer/Gruppen. +**Schritt 1: Gruppe und Nutzer anlegen** +````bash +sudo adduser felix +sudo adduser hans +sudo addgroup mitarbeiter +sudo addgroup teamleitung +sudo usermod -aG mitarbeiter felix +sudo usermod -aG mitarbeiter hans +sudo usermod -aG teamleitung felix +```` +**Schritt 2: Ordner erstellen und Rechte setzen** +````bash +sudo mkdir -p /srv/samba/dokumente +sudo chown nobody:mitarbeiter /srv/samba/dokumente +sudo chmod 770 /srv/samba/dokumente +```` +**Schritt 3: Freigabe in smb.conf definieren** +````ini +[Dokumente] + comment = Vertrauliche Dokumente + path = /srv/samba/dokumente + browseable = yes + read only = no + guest ok = no + valid users = @mitarbeiter # Nur Gruppe "mitarbeiter" darf zugreifen + write list = @teamleitung # Nur Gruppe "teamleitung" darf schreiben + force group = mitarbeiter # Neue Dateien/Ordner gehören zur Gruppe "mitarbeiter" + force create mode = 0660 # Neue Dateien: rw-rw---- + force directory mode = 0770 # Neue Ordner: rwxrwx--- +```` +**Schritt 4: Nutzer zu Samba hinzufügen** +````bash +sudo smbpasswd -a felix +sudo smbpasswd -a hans +```` +**Schritt 5: Samba neu starten** +````bash + +sudo systemctl restart smbd +```` + +## Schritt-für-Schritt: Neue Freigabe erstellen + + +**1. Ordner anlegen:** +````bash +sudo mkdir -p /srv/samba/neue_freigabe +```` + + +**2. Besitzer und Gruppe setzen:** +````bash +sudo chown nobody:mitarbeiter /srv/samba/neue_freigabe +```` + +**3. Rechte setzen:** +````bash + +sudo chmod 770 /srv/samba/neue_freigabe +```` + +**4. Freigabe in /etc/samba/smb.conf definieren:** +````ini + +[NeueFreigabe] + comment = Beschreibung der Freigabe + path = /srv/samba/neue_freigabe + browseable = yes + read only = no + guest ok = no + valid users = @mitarbeiter + write list = @teamleitung +```` +**5. Konfiguration testen:** +````bash + +sudo samba-tool testparm +```` + +**6. Samba neu starten:** +````bash + +sudo systemctl restart smbd +```` + +## Häufige Fehler und Lösungen: + +|Problem |Ursache |Lösung | +|------------------------------------|------------------------------------------------------|----------------------------------------------------------------------| +|Freigabe nicht sichtbar |browseable = no oder Firewall blockiert Samba. |browseable = yes setzen oder Firewall prüfen (sudo ufw allow samba). | +|Zugriff verweigert |Nutzer nicht in smbpasswd oder falsche Rechte. |sudo smbpasswd -a nutzername ausführen. Rechte mit chmod/chown prüfen.| +|Dateien können nicht gelöscht werden|Nutzer ist nicht Besitzer und hat keine Schreibrechte.|chmod g+w oder chown anpassen. | +|Gruppe wird nicht übernommen |force group fehlt in smb.conf. |force group = gruppenname ergänzen. | +|Neue Dateien haben falsche Rechte |force create mode/force directory mode fehlt. |force create mode = 0660 und force directory mode = 0770 setzen. | + +````` diff --git a/mkdocs/docs/Windows_Programme_unter_Linux.md b/mkdocs/docs/Windows_Programme_unter_Linux.md new file mode 100644 index 0000000..9dc1e79 --- /dev/null +++ b/mkdocs/docs/Windows_Programme_unter_Linux.md @@ -0,0 +1,170 @@ +`````markdown +# Windows-Programme unter Linux + +Diese Anleitung zeigt Schritt für Schritt, wie Sie unter Linux Mint zuerst Notepad++ und anschließend 7‑Zip (Windows‑Version) mit Bottles installieren. + +## Voraussetzungen + +* Installiertes Linux Mint +* Internetzugang +* Ein normales Benutzerkonto + +## Bottles installieren + +1. Öffnen Sie das **Menü** unten links und starten Sie den **Software‑Manager**. +2. Suchen Sie nach **„Bottles“**. +3. Wählen Sie **„Bottles“** (Quelle „Flathub“ oder „Flatpak“) und klicken Sie auf **Installieren**. +4. Nach der Installation finden Sie Bottles im Menü, z. B. unter **Zubehör → Bottles**. + +## Flatseal installieren und Berechtigungen für Bottles setzen + +Damit Verknüpfungen (Desktop‑Icons und Menüeinträge) korrekt angelegt werden können, braucht Bottles Zugriff auf bestimmte Ordner. + +### Flatseal installieren + +1. Öffnen Sie erneut den **Software‑Manager**. +2. Suchen Sie nach **„Flatseal“**. +3. Wählen Sie **„Flatseal“** aus und klicken Sie auf **Installieren**. + +### Berechtigungen für Bottles anpassen + +1. Starten Sie **Flatseal** über das Menü. +2. Wählen Sie in der linken Liste die Anwendung **„Bottles“** aus. +3. Gehen Sie zum Bereich **„Filesystem"** (oder „Dateisystem“). +4. Aktivieren bzw. fügen Sie folgende Pfade hinzu: + * ```xdg-data/applications``` + * ```~/.local/share/applications``` +5. Speichern ist nicht nötig; die Änderungen gelten sofort. +6. Schließen Sie Flatseal und starten Sie **Bottles** einmal neu. + +Damit kann Bottles jetzt Desktop‑Verknüpfungen und Menüeinträge korrekt anlegen. + +--- + +## Notepad++ + +### Erste Bottle für Notepad++ anlegen + +1. Starten Sie **Bottles**. +2. Klicken Sie auf **„Create a new bottle"** bzw oben links auf das ````+````. +3. Geben Sie einen Namen ein, zum Beispiel **„NotepadPlusPlus"**. +4. Wählen Sie als Umgebung **„Application"** (Programm). +5. Klicken Sie auf **„Create"** und warten Sie, bis die Bottle erstellt wurde. + +### Notepad++ herunterladen + +1. Öffnen Sie Ihren **Webbrowser** (z. B. Firefox). +2. Rufen Sie die Seite auf: + * `https://notepad-plus-plus.org` +3. Klicken Sie auf **Download**. +4. Laden Sie den **Windows‑Installer** (Dateiname ähnlich `npp.x.y.Installer.exe`) in den Ordner **Downloads** herunter. + +### Notepad++ in Bottles installieren + +1. Wechseln Sie zu **Bottles** und öffnen Sie die Bottle **„NotepadPlusPlus"**. +2. Klicken Sie auf **„Run executable"**. +3. Navigieren Sie im Dateidialog zum Ordner **Downloads**. +4. Wählen Sie die Datei `npp.x.y.Installer.exe` aus und klicken Sie auf **Öffnen**. +5. Im Installationsassistenten: + * Sprache auswählen (z. B. Deutsch) + * Lizenzbedingungen akzeptieren + * Standardpfad beibehalten + * Komponenten unverändert lassen +6. Zum Schluss auf **Fertigstellen** klicken. + +Bottles legt nun in dieser Bottle einen Programmeintrag für Notepad++ an und kann – mit den eingestellten Rechten – auch Verknüpfungen anlegen. + +### Notepad++ starten und testen + +1. Öffnen Sie in **Bottles** die Bottle **„NotepadPlusPlus"**. +2. Unter **„Programs"** (Programme) finden Sie **„Notepad++"**. +3. Klicken Sie auf **Notepad++**, um das Programm zu starten. +4. Testen Sie die Funktion: + * Neue Datei anlegen + * Text schreiben + * Datei in Ihrem Home‑Ordner speichern + +Wenn die Berechtigungen korrekt gesetzt sind, können Sie in Bottles außerdem eine **Desktop‑Verknüpfung** oder einen **Menüeintrag** erstellen. Hierfür einfach auf ````...```` klicken und + +## 7-Zip + +### Zweite Bottle für 7‑Zip anlegen + +1. Starten Sie **Bottles**, falls es geschlossen ist. +2. Klicken Sie auf **„Create a new bottle"**. +3. Geben Sie einen Namen ein, z. B. **„7zip"**. +4. Wählen Sie wieder die Umgebung **„Application"**. +5. Klicken Sie auf **„Create"** und warten Sie, bis die Bottle eingerichtet ist. + +### 7‑Zip herunterladen + +1. Öffnen Sie den **Webbrowser**. +2. Rufen Sie die offizielle 7‑Zip‑Seite auf: + * `https://www.7-zip.org` +3. Laden Sie die **64‑Bit‑Version für Windows** herunter (Datei ähnlich `7zxx-x64.exe`). +4. Speichern Sie die Datei im Ordner **Downloads**. + +--- + +### 7‑Zip in Bottles installieren + +1. Öffnen Sie in **Bottles** die Bottle **„7zip"**. +2. Klicken Sie auf **„Run executable"**. +3. Wählen Sie im Ordner **Downloads** die Datei `7zxx-x64.exe` aus. +4. Bestätigen Sie mit **Öffnen**. +5. Im Installationsfenster von 7‑Zip: + * Installationspfad unverändert lassen (`C:\Program Files\7-Zip`) + * Auf **Install** klicken + * Nach Abschluss auf **Close** klicken + +### 7‑Zip starten + +1. Öffnen Sie in **Bottles** die Bottle **„7zip"**. +2. Unter **„Programs"** finden Sie **„7zFM"**. +3. Klicken Sie auf diesen Eintrag, um den 7‑Zip‑Dateimanager zu starten. + +#### Dateien mit 7‑Zip komprimieren + +1. Im 7‑Zip‑Fenster wählen Sie oben ein Laufwerk aus, z. B. **„Z:“**. + * „Z:“ ist normalerweise mit Ihrem Linux‑Dateisystem verbunden. +2. Navigieren Sie zu Ihrem **Home‑Ordner** und zu einem Testordner (z. B. `Dokumente/Test`). +3. Markieren Sie einige Dateien, die Sie komprimieren möchten. +4. Klicken Sie oben auf **„Add"** (Hinzufügen). +5. Im Dialog: + * Archivname eingeben, z. B. `testarchiv.7z` + * Format wählen (z. B. `7z` oder `zip`) + * Kompressionsstufe auswählen (z. B. „Normal") +6. Klicken Sie auf **OK**. +7. Das neue Archiv erscheint im gleichen Ordner. + +#### Archive mit 7‑Zip entpacken + +1. Suchen Sie im 7‑Zip‑Fenster ein vorhandenes Archiv (`.zip`, `.7z` o. Ä.). +2. Markieren Sie das Archiv mit einem Linksklick. +3. Klicken Sie oben auf **„Extract"** (Entpacken). +4. Wählen Sie im Dialog den Zielordner oder akzeptieren Sie den vorgeschlagenen Ordner. +5. Klicken Sie auf **OK**. +6. Die entpackten Dateien erscheinen anschließend im gewählten Ordner. + +## Häufige Probleme und einfache Lösungen + +### Programm startet nicht + +* Schließen Sie die Bottle und öffnen Sie sie erneut. +* Starten Sie Bottles bei Bedarf vollständig neu und versuchen Sie es noch einmal. + +### Desktop‑Verknüpfung fehlt + +* Desktop-Verknüpfungen sind erst mal nur im Startmenü +* Prüfen Sie in **Flatseal**, ob Bottles Zugriff auf + * `~/Desktop` + * `~/.local/share/applications` + hat. +* Falls Änderungen vorgenommen wurden, muss bottles neu gestartet werden. Idealerweise reboot. + +### Dateien im Linux‑System nicht sichtbar + +* Stellen Sie im 7‑Zip‑Fenster sicher, dass Sie das Laufwerk **„Z:“** gewählt haben. +* Navigieren Sie von dort in Ihr Home‑Verzeichnis. + +````` \ No newline at end of file diff --git a/mkdocs/docs/image.png b/mkdocs/docs/assets/image.png similarity index 100% rename from mkdocs/docs/image.png rename to mkdocs/docs/assets/image.png diff --git a/mkdocs/docs/Linux_Unternehmen/Nextcloud_Design/Login_Image.jpg b/mkdocs/docs/assets/nextcloud/design/Login_Image.jpg similarity index 100% rename from mkdocs/docs/Linux_Unternehmen/Nextcloud_Design/Login_Image.jpg rename to mkdocs/docs/assets/nextcloud/design/Login_Image.jpg diff --git a/mkdocs/docs/Linux_Unternehmen/Nextcloud_Design/Logo.png b/mkdocs/docs/assets/nextcloud/design/Logo.png similarity index 100% rename from mkdocs/docs/Linux_Unternehmen/Nextcloud_Design/Logo.png rename to mkdocs/docs/assets/nextcloud/design/Logo.png diff --git a/mkdocs/docs/Linux_Unternehmen/Nextcloud_Design/background.jpg b/mkdocs/docs/assets/nextcloud/design/background.jpg similarity index 100% rename from mkdocs/docs/Linux_Unternehmen/Nextcloud_Design/background.jpg rename to mkdocs/docs/assets/nextcloud/design/background.jpg diff --git a/mkdocs/docs/Linux_Unternehmen/Nextcloud_Design/background_Depri.jpg b/mkdocs/docs/assets/nextcloud/design/background_Depri.jpg similarity index 100% rename from mkdocs/docs/Linux_Unternehmen/Nextcloud_Design/background_Depri.jpg rename to mkdocs/docs/assets/nextcloud/design/background_Depri.jpg diff --git a/mkdocs/docs/Linux_Unternehmen/Nextcloud_Design/background_etz_depri.jpg b/mkdocs/docs/assets/nextcloud/design/background_etz_depri.jpg similarity index 100% rename from mkdocs/docs/Linux_Unternehmen/Nextcloud_Design/background_etz_depri.jpg rename to mkdocs/docs/assets/nextcloud/design/background_etz_depri.jpg diff --git a/mkdocs/docs/Linux_Unternehmen/Nextcloud_Design/favicon.ico b/mkdocs/docs/assets/nextcloud/design/favicon.ico similarity index 100% rename from mkdocs/docs/Linux_Unternehmen/Nextcloud_Design/favicon.ico rename to mkdocs/docs/assets/nextcloud/design/favicon.ico diff --git a/mkdocs/docs/Linux_Unternehmen/nextcloud-ldap-media/image1.png b/mkdocs/docs/assets/nextcloud/image1.png similarity index 100% rename from mkdocs/docs/Linux_Unternehmen/nextcloud-ldap-media/image1.png rename to mkdocs/docs/assets/nextcloud/image1.png diff --git a/mkdocs/docs/Linux_Unternehmen/nextcloud-ldap-media/image2.png b/mkdocs/docs/assets/nextcloud/image2.png similarity index 100% rename from mkdocs/docs/Linux_Unternehmen/nextcloud-ldap-media/image2.png rename to mkdocs/docs/assets/nextcloud/image2.png diff --git a/mkdocs/docs/Linux_Unternehmen/nextcloud-ldap-media/image3.png b/mkdocs/docs/assets/nextcloud/image3.png similarity index 100% rename from mkdocs/docs/Linux_Unternehmen/nextcloud-ldap-media/image3.png rename to mkdocs/docs/assets/nextcloud/image3.png diff --git a/mkdocs/docs/Linux_Unternehmen/nextcloud-ldap-media/image4.png b/mkdocs/docs/assets/nextcloud/image4.png similarity index 100% rename from mkdocs/docs/Linux_Unternehmen/nextcloud-ldap-media/image4.png rename to mkdocs/docs/assets/nextcloud/image4.png diff --git a/mkdocs/docs/Linux_Unternehmen/nextcloud-ldap-media/image5.png b/mkdocs/docs/assets/nextcloud/image5.png similarity index 100% rename from mkdocs/docs/Linux_Unternehmen/nextcloud-ldap-media/image5.png rename to mkdocs/docs/assets/nextcloud/image5.png diff --git a/mkdocs/docs/Linux_Unternehmen/nextcloud-ldap-media/image6.png b/mkdocs/docs/assets/nextcloud/image6.png similarity index 100% rename from mkdocs/docs/Linux_Unternehmen/nextcloud-ldap-media/image6.png rename to mkdocs/docs/assets/nextcloud/image6.png diff --git a/mkdocs/docs/Linux_Unternehmen/nextcloud-ldap-media/image7.png b/mkdocs/docs/assets/nextcloud/image7.png similarity index 100% rename from mkdocs/docs/Linux_Unternehmen/nextcloud-ldap-media/image7.png rename to mkdocs/docs/assets/nextcloud/image7.png diff --git a/mkdocs/docs/automatisierung-mit-ansible.md b/mkdocs/docs/automatisierung-mit-ansible.md new file mode 100644 index 0000000..41b5722 --- /dev/null +++ b/mkdocs/docs/automatisierung-mit-ansible.md @@ -0,0 +1,8 @@ +````markdown +# Automatisierung mit Ansible + +Kurze Einführung in Ansible und typische Playbook-Beispiele. + +... (Inhalt aus Bonus wird hier übernommen) + +```` diff --git a/mkdocs/docs/basics/Praxisprojekt_Medien-NAS_fuer_KODI.md b/mkdocs/docs/basics/Praxisprojekt_Medien-NAS_fuer_KODI.md index e49b3dc..07100c3 100644 --- a/mkdocs/docs/basics/Praxisprojekt_Medien-NAS_fuer_KODI.md +++ b/mkdocs/docs/basics/Praxisprojekt_Medien-NAS_fuer_KODI.md @@ -1,5 +1,5 @@ # Praxisprojekt Medien-NAS für KODI - +![enter image description here](https://upload.wikimedia.org/wikipedia/commons/thumb/2/25/Kodi-logo-Thumbnail-light-transparent.png/250px-Kodi-logo-Thumbnail-light-transparent.png){align=right} ## Ziel des Projekts Aufgebaut wird ein **Medien-Server mit Samba**, auf den **Windows-Clients** Medien (Musik, Videos, Bilder, ROMs) per **Windows-Freigabe** ablegen, und den eine **Kodi-VM** wiederum per SMB einbindet. diff --git a/mkdocs/docs/basics/Windows_Freigaben_fuer_Linux-Einsteiger.md b/mkdocs/docs/basics/Windows_Freigaben_fuer_Linux-Einsteiger.md index 7d204c9..d1bb293 100644 --- a/mkdocs/docs/basics/Windows_Freigaben_fuer_Linux-Einsteiger.md +++ b/mkdocs/docs/basics/Windows_Freigaben_fuer_Linux-Einsteiger.md @@ -1,5 +1,5 @@ # Samba-Konfiguration für Linux-Einsteiger - +![enter image description here](https://upload.wikimedia.org/wikipedia/commons/thumb/d/db/Samba_logo_2010.svg/330px-Samba_logo_2010.svg.png) ## Einführung in Samba **Samba** ist eine Open-Source-Software, die es Linux-Systemen ermöglicht, **Datei* und Druckdienste** für Windows-, macOS* und andere Linux-Clients bereitzustellen. Samba implementiert das **SMB/CIFS-Protokoll** (Server Message Block / Common Internet File System), das in Windows-Netzwerken standardmäßig verwendet wird. diff --git a/mkdocs/docs/docker-grundlagen.md b/mkdocs/docs/docker-grundlagen.md new file mode 100644 index 0000000..f7c2dcc --- /dev/null +++ b/mkdocs/docs/docker-grundlagen.md @@ -0,0 +1,67 @@ +`````markdown +# Docker-Grundlagen +## Virtuelle Maschinen (VMs) vs. Container + +|Kriterium |Virtuelle Maschine (VM) |Container | +|-------------------|----------------------------------------------|------------------------------------| +|Isolation |Vollständige OS-Isolation (Hardware-Ebene) |Prozess-Isolation (OS-Ebene) | +|Ressourcenverbrauch|Hoch (eigenes OS pro VM) |Gering (teilt Host-OS-Kernel) | +|Startzeit |Minuten |Sekunden | +|Portabilität |Schwerer (große Images) |Leicht (kleine Images) | +|Anwendungsfall |Vollständige Systeme (z. B. Windows auf Linux)|Mikroservices, Web-Apps, Datenbanken| + +**Fazit**: Container sind ideal für schnelle, ressourcenschonende Bereitstellung von Anwendungen. +## Docker installieren + +[Immer aktuelles Setup anschauen](https://docs.docker.com/engine/install/ubuntu/) + +````bash +# Alte Docker-Versionen entfernen +sudo apt removes docker.io docker-compose docker-compose-v2 docker-doc podman-docker containerd runc +# Abhängigkeiten installieren +sudo apt update +sudo apt install -y ca-certificates curl gnupg + +# Docker-Repository hinzufügen +sudo install -m 0755 -d /etc/apt/keyrings +sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc +sudo chmod a+r /etc/apt/keyrings/docker.asc +sudo tee /etc/apt/sources.list.d/docker.sources < Ausgabe: +```` +Hello from Docker! +This message shows that your installation appears to be working correctly. +... +```` +Tatsächlich erklärt der Container selbst was er getan hat. +* ````docker run````: Führt einen Container aus. +* ````hello-world````: Offizielles Test-Image von Docker Hub. + +... (Inhalt gekürzt für Übersicht) + +````` \ No newline at end of file diff --git a/mkdocs/docs/index.md b/mkdocs/docs/index.md index d04d21d..1bfca6c 100644 --- a/mkdocs/docs/index.md +++ b/mkdocs/docs/index.md @@ -2,13 +2,41 @@ Sehr geehrte Teilnehmende, -willkommen zur Kursübersicht rund um Linux für angehende IT-Meisterinnen und IT-Meister. -Diese Dokumentation bietet eine strukturierte Zusammenstellung der Arbeitsaufträge und Grundlagen, um praxisnah und fundiert in Linux und Unternehmensumgebungen einzusteigen. +willkommen zur Kursübersicht für den Meisterkurs "Linux Grundlagen". Diese Startseite bietet eine schnelle Orientierung über die Kapitel, direkte Verweise auf die Unterlagen und kurze Hinweise, worum es jeweils geht. -Die Inhalte begleiten von den ersten Schritten am Desktop und in der Konsole über wichtige Automatisierungsthemen wie `cron` und `systemd` bis hin zu realen Einsatzszenarien im Unternehmen, etwa Active Directory, Samba-Freigaben und Nextcloud. Zusätzlich werden Bonuskapitel zu Docker angeboten, um containerbasierte Technologien kennenzulernen. +Kursstruktur — Schneller Überblick + + - **Grundlagen**: Einstieg am Desktop, Arbeiten in der Konsole und kleine Praxisprojekte + - Einstieg in den Linux‑Desktop: [Einstieg in Linux-Desktop](Einstieg_in_Linux-Desktop.md) + - Grundlagen der Konsole: [Grundlagen der Konsole](Grundlagen_der_Konsole.md) + - Windows‑Programme unter Linux: [Windows‑Programme unter Linux](Windows_Programme_unter_Linux.md) + - Kleines Praxisprojekt: [Mein erstes kleines Linux‑Projekt](Mein_erstes_kleines_Linux-Projekt.md) + - Medien‑NAS (KODI): [Praxisprojekt Medien‑NAS für KODI](Praxisprojekt_Medien-NAS_fuer_KODI.md) -Die Navigation auf der linken Seite ermöglicht einen schnellen Zugriff auf die gewünschten Themen. Für den bestmöglichen Lernerfolg wünschen wir viel Erfolg und Freude. + + - Automatisierung mit `cron` und `systemd`: [Automatisierung mit cron und systemd](Automatisierung_mit_cron_und_systemd.md) + - Windows‑Freigaben für Linux‑Einsteiger (Samba): [Windows‑Freigaben für Linux‑Einsteiger](Windows_Freigaben_fuer_Linux-Einsteiger.md) -Mit freundlichen Grüßen + + - Ubuntu Server: [Server installieren und konfigurieren](Server_Installation.md) + - Freigaben im Unternehmen: [Praxisprojekt Freigaben im Unternehmen](Praxisprojekt_Freigaben_im_Unternehmen.md) + - Nextcloud mit LDAP: [Nextcloud & LDAP](nextcloud-ldap.md) + + + - Linux als AD‑Server: [Linux als Active Directory Server](linux-als-ad-server.md) + - Linux als AD‑Client: [Linux als Client in Active Directory](linux-als-ad-client.md) + - Automatisierung mit Ansible: [Automatisierung mit Ansible](automatisierung-mit-ansible.md) + - Docker‑Grundlagen: [Docker Grundlagen](docker-grundlagen.md) + + +Vorgehen für Kursaufgaben + +1. Folgen Sie der empfohlenen Reihenfolge: Basics → Automatisierung → Linux im Unternehmen → Bonuskapitel. +2. Führen Sie die Praxisprojekte Schritt für Schritt durch und dokumentieren Sie Ergebnisse. +3. Nutzen Sie die linken Navigationselemente für schnellen Zugriff. + +Viel Erfolg und gutes Gelingen! + +Mit freundlichen Grüßen **Florian Hensel** diff --git a/mkdocs/docs/linux-als-ad-client.md b/mkdocs/docs/linux-als-ad-client.md new file mode 100644 index 0000000000000000000000000000000000000000..a554e02827820cce7a2b3307aab40484be5c91a9 GIT binary patch literal 735 zcmYjPL5|xn4D2~T{y?CY7RdSmy`|Z0v1m~gO^aNk#I!9~q6|t}H+j##VNZMW$2#&l zKreAfku$>~kH_QD8|~{b%6j#lzFWzE$+$>6XIT|x>(zSofc&3R zmXzt9W1qrsx4*>1p4{{tW1?u!9hr + DocumentRoot "/var/www/nextcloud" + ServerName nextcloud.example.local + RewriteEngine On + RewriteCond %{HTTPS} Off + RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] + +``` + +![Erster Login, Eingabe der Admindaten](assets/nextcloud/image1.png) + +## Redis als Cache aktivieren + +Installieren Sie `redis-server` (siehe Paketliste) und passen Sie die Nextcloud‑Config an (`/var/www/nextcloud/config/config.php`): + +```php + 'memcache.distributed' => '\\OC\\Memcache\\Redis', + 'memcache.local' => '\\OC\\Memcache\\Redis', + 'memcache.locking' => '\\OC\\Memcache\\Redis', + 'redis' => array('host' => 'localhost','port' => 6379), + +``` + +## SSL — selbstsigniertes Zertifikat (Beispiel) + +```bash +sudo openssl req -new -x509 -days 365 -nodes -out /etc/ssl/certs/NextCloud.pem -keyout /etc/ssl/private/NextCloud.key +``` + +Aktivieren Sie das Zertifikat in der Apache‑Site (VirtualHost :443) und starten Sie Apache neu. + +## Cronjob für Nextcloud + +Nextcloud sollte per Cron regelmäßig Aufgaben ausführen. Beispiel (ausführen als `www-data`): + +```bash +sudo crontab -u www-data -e +*/15 * * * * php -f /var/www/nextcloud/cron.php +``` + +Weitere Informationen zu Cron und systemd finden Sie in der Anleitung: [Automatisierung mit cron und systemd](Automatisierung_mit_cron_und_systemd.md). + +## Design + Firmenlogo + +Passen Sie das Design über das Nextcloud‑Admin‑Interface an. Empfohlene Dateiformate: `.png`, `.jpg`, `.ico`. + +- Logo: `assets/nextcloud/design/Logo.png` +- Hintergrund / Login‑Bild: `assets/nextcloud/design/Login_Image.jpg` +- Favicon: `assets/nextcloud/design/favicon.ico` + +![Auswahl LDAP-APP](assets/nextcloud/image2.png) + +## LDAP/AD‑Anbindung (Übersicht) + +Nextcloud kann Benutzer und Gruppen über LDAP/AD synchronisieren. Aktivieren Sie in Nextcloud die App "LDAP user and group backend" und konfigurieren Sie: + +- LDAP‑Server (FQDN + Port) +- Bind‑Account (lesender Account) und Passwort +- Such‑Bases für Nutzer und Gruppen +- Attribute (z.B. `sAMAccountName`) für Login + +Hinweis: Für Samba AD‑Domaincontroller siehe Anleitung: [Linux als Active Directory Server](linux-als-ad-server.md). + +![Einrichtungstab Server](assets/nextcloud/image3.png) + +## Hinweise + +- Verwenden Sie Dateinamen ohne Leerzeichen. +- Testen Sie die Nextcloud‑Webinstallation lokal unter `http:///` bevor Sie SSL aktivieren. + +--- + +Diese Seite wurde rekonstruiert aus der vorhandenen Site‑Ausgabe; bitte prüfe Inhalt und Formatierung und ergänze ggf. Details oder Screenshots. +`````markdown +# Nextcloud mit LDAP-Anbindung + +NextCloud bringt ihnen eine erweiterte Funktionalität der Bereitstellung und Synchronisierung ihrer Daten für Mitarbeiter. NextCloud biete über Erweiterungen und Plug-Ins die Möglichkeit auch in anderen Teilen ihres Unternehmens Verbesserungen der Zusammenarbeit zu schaffen. Prinzipiell ist NextCloud aber ihre Private Cloud - Sie wissen, wo die Daten liegen und Sie wissen wer darauf zugreifen kann und darf. + +... (Inhalt übernommen) + +````` diff --git a/mkdocs/mkdocs.yml b/mkdocs/mkdocs.yml index e00157b..00ea418 100644 --- a/mkdocs/mkdocs.yml +++ b/mkdocs/mkdocs.yml @@ -4,23 +4,23 @@ site_author: Florian Hensel nav: - Home: index.md - Grundlagen: - - Einstieg in Linux-Desktop: basics/Einstieg_in_Linux-Desktop.md - - Remotezugriff einrichten: basics/Remotezugriff_einrichten.md - - Kleines Linux-Projekt: basics/Mein_erstes_kleines_Linux-Projekt.md - - Windows-Programme unter Linux: basics/Windows_Programme_unter_Linux.md - - Grundlagen der Konsole: basics/Grundlagen_der_Konsole.md - - Automatisierung mit cron und systemd: basics/Automatisierung_mit_cron_und_systemd.md - - Windows-Freigaben für Linux-Einsteiger: basics/Windows_Freigaben_fuer_Linux-Einsteiger.md - - Praxisprojekt Medien-NAS für KODI: basics/Praxisprojekt_Medien-NAS_fuer_KODI.md + - Einstieg in Linux-Desktop: Einstieg_in_Linux-Desktop.md + - Remotezugriff einrichten: Remotezugriff_einrichten.md + - Kleines Linux-Projekt: Mein_erstes_kleines_Linux-Projekt.md + - Windows-Programme unter Linux: Windows_Programme_unter_Linux.md + - Grundlagen der Konsole: Grundlagen_der_Konsole.md + - Automatisierung mit cron und systemd: Automatisierung_mit_cron_und_systemd.md + - Windows-Freigaben für Linux-Einsteiger: Windows_Freigaben_fuer_Linux-Einsteiger.md + - Praxisprojekt Medien-NAS für KODI: Praxisprojekt_Medien-NAS_fuer_KODI.md - Linux im Unternehmen: - - Ubuntu Server installieren und konfigurieren: Linux_Unternehmen/Server_Installation.md - - Praxisprojekt Freigaben im Unternehmen: Linux_Unternehmen/Praxisprojekt_Freigaben_im_Unternehmen.md - - Nextcloud mit LDAP-Anbindung: Linux_Unternehmen/nextcloud-ldap.md + - Ubuntu Server installieren und konfigurieren: Server_Installation.md + - Praxisprojekt Freigaben im Unternehmen: Praxisprojekt_Freigaben_im_Unternehmen.md + - Nextcloud mit LDAP-Anbindung: nextcloud-ldap.md - Bonuskapitel: - - Linux als Active Directory Server: bonus/linux-als-ad-server.md - - Linux als Client in Active Directory: bonus/linux-als-ad-client.md - - Automatisierung mit Ansible: bonus/automatisierung-mit-ansible.md - - Docker Grundlagen: bonus/docker-grundlagen.md + - Linux als Active Directory Server: linux-als-ad-server.md + - Linux als Client in Active Directory: linux-als-ad-client.md + - Automatisierung mit Ansible: automatisierung-mit-ansible.md + - Docker Grundlagen: docker-grundlagen.md # Theme theme: logo: assets/Logo.png