Compare commits

...

38 Commits

Author SHA1 Message Date
Florian Hensel
a1bb73cf22 typo 2025-12-17 11:29:12 +01:00
Florian Hensel
30c5e40ac8 Admonition test samba 2025-12-17 11:28:22 +01:00
Florian Hensel
50e20a3489 mkdocs für codeblöcke optimiert 2025-12-17 11:02:52 +01:00
Florian Hensel
31c6a6241e robots.txt vor komplettem Neuaufbau hinzugefügt 2025-12-17 10:35:04 +01:00
Florian Hensel
2f08d1c73a typo? 2025-12-14 15:23:53 +01:00
Florian Hensel
bf6e82ef51 admonitions aktivert???? 2025-12-14 15:18:50 +01:00
Florian Hensel
60104ac84b Einfügen von Admonitions 2025-12-14 15:05:31 +01:00
Florian Hensel
e86b0082c7 optimierung für schriften? 2025-12-14 13:51:18 +01:00
Florian Hensel
1859d67161 download link in den header 2025-12-14 12:21:41 +01:00
Florian Hensel
dbaff43d57 ohne watch 2025-12-14 10:54:02 +01:00
Florian Hensel
92f0f25b1e typo 2025-12-14 10:52:34 +01:00
Florian Hensel
3bfa5897ef config erweitert 2025-12-14 10:50:26 +01:00
Florian Hensel
597e431b25 Überall TOC entfernt und alignment bei NExtcloud enternt 2025-12-14 10:41:53 +01:00
Florian Hensel
933ea953d1 umbruch entfernt 2025-12-14 10:03:50 +01:00
Florian Hensel
40a8167693 build mit mehr context 2025-12-14 10:01:48 +01:00
Florian Hensel
0de387e241 config für to-pdf verbessert 2025-12-14 09:53:34 +01:00
Florian Hensel
ba5b76055e Versuch mit mkdocs-to-pdf 2025-12-14 09:47:43 +01:00
Florian Hensel
d49196fe8c ldap 2025-12-13 14:29:59 +01:00
Florian Hensel
95ef201be0 plugin deaktivert 2025-12-13 12:34:38 +01:00
Florian Hensel
c11d609b52 ohne build 2025-12-13 12:33:50 +01:00
Florian Hensel
dd20436f14 jfukzf 2025-12-13 12:31:28 +01:00
Florian Hensel
60308f76f3 alpine... 2025-12-13 12:28:13 +01:00
Florian Hensel
0dbebc858b docker mkit mkdocs-to-pdf erweiterung 2025-12-13 12:26:30 +01:00
Florian Hensel
c6a863c95a aaaaah 2025-12-13 11:39:01 +01:00
Florian Hensel
ae545a5a1e argh! 2025-12-13 11:37:19 +01:00
Florian Hensel
751aa15002 php änderng 2025-12-13 11:31:22 +01:00
edcb18981a hinweise auf Anleitungen bei Backup 2025-12-13 08:56:52 +00:00
6a1a54f200 hostname auf tnxx.ito bzw link-hinweis auf ip 2025-12-13 08:53:16 +00:00
4fc50866a3 https apache angepasst dank Stefan 2025-12-13 08:37:02 +00:00
385e21c52b neue installation mysql abfrage 2025-12-13 08:15:22 +00:00
828cb7e5a9 highlighting für user anlegen! 2025-12-13 07:50:24 +00:00
cd754f1a4e wieder so \ kacke 2025-12-13 07:49:02 +00:00
b8da376d15 mysql braucht keine root-freigabe für phpmyadmin mehr 2025-12-13 07:36:05 +00:00
Florian Hensel
f34f6917ae utf-8 escape 2025-12-12 21:44:38 +01:00
Florian Hensel
c3664b54d9 Merge branch 'main' of https://teetasse.dyn-dnhensel.de/torkitea/mkdocs-etz 2025-12-12 21:16:20 +01:00
Florian Hensel
bd396ba642 openSSH - Server Installation instructions geändert 2025-12-12 21:15:44 +01:00
Florian Hensel
27496257ca openssh-config 2025-12-12 21:14:14 +01:00
09148d2000 unicode mist entfernt 2025-12-12 14:26:07 +00:00
22 changed files with 388 additions and 319 deletions

1
.gitignore vendored
View File

@@ -1,3 +1,4 @@
mkdocs/site/ mkdocs/site/
*.pdf *.pdf
*.PDF *.PDF
.cache

View File

@@ -1,12 +1,16 @@
FROM pandoc/latex:latest FROM squidfunk/mkdocs-material:latest
WORKDIR /data # Laufzeit-Pakete (inkl. weasyprint) + temporäre Build-Dependencies zum Kompilieren (z.B. libsass)
RUN apk add --no-cache \
## Eisvogel Template kopieren (lokal notwendig) weasyprint \
#COPY eisvogel.tex /data/eisvogel.tex cairo \
pango \
# Script kopieren und ausführbar machen gdk-pixbuf \
COPY mkdocs-to-pdf.sh /usr/local/bin/mkdocs-to-pdf.sh libjpeg-turbo \
RUN chmod +x /usr/local/bin/mkdocs-to-pdf.sh zlib \
fontconfig \
ENTRYPOINT ["/usr/local/bin/mkdocs-to-pdf.sh"] ttf-dejavu \
&& apk add --no-cache --virtual .build-deps \
build-base python3-dev libffi-dev cairo-dev pango-dev gdk-pixbuf-dev libjpeg-turbo-dev zlib-dev pkgconfig \
&& pip install --no-cache-dir mkdocs-to-pdf \
&& apk del .build-deps

View File

@@ -60,3 +60,6 @@ text
Bei Fragen oder Problemen gerne Issues öffnen oder direkt kontaktieren. Bei Fragen oder Problemen gerne Issues öffnen oder direkt kontaktieren.
Diese README.md beschreibt übersichtlich Zweck, Nutzung, Voraussetzungen, Verzeichnisstruktur und wichtige Hinweise zum Projekt. Gerne kann sie noch projektspezifisch erweitert werden. Diese README.md beschreibt übersichtlich Zweck, Nutzung, Voraussetzungen, Verzeichnisstruktur und wichtige Hinweise zum Projekt. Gerne kann sie noch projektspezifisch erweitert werden.
Für mkdocs highlighiting und so:
https://github.com/domWalters/mkdocs-to-pdf/tree/develop/docs/examples

View File

@@ -1,6 +1,7 @@
services: services:
mkdocs: mkdocs:
image: squidfunk/mkdocs-material:latest build: .
#image: squidfunk/mkdocs-material:latest
volumes: volumes:
- ./mkdocs:/docs - ./mkdocs:/docs
ports: ports:

View File

@@ -1,9 +1,6 @@
# Geschäfts-Samba-Server: Eingeschränkte Freigaben für Abteilungen # Geschäfts-Samba-Server: Eingeschränkte Freigaben für Abteilungen
*Anleitung zur Einrichtung von Samba-Freigaben mit granularen Rechten für Hans Wurst (Produktion) und Peter Lustig (Verwaltung)* *Anleitung zur Einrichtung von Samba-Freigaben mit granularen Rechten für Hans Wurst (Produktion) und Peter Lustig (Verwaltung)*
## Inhaltsverzeichnis
[TOC]
## 1. Zielbeschreibung ## 1. Zielbeschreibung
Dieses Projekt zeigt eine saubere, praxisnahe Einrichtung von Dieses Projekt zeigt eine saubere, praxisnahe Einrichtung von
@@ -16,6 +13,9 @@ Dieses Projekt zeigt eine saubere, praxisnahe Einrichtung von
| Hans Wurst | X | | | X | | Hans Wurst | X | | | X |
| Peter Lustig | | X | | X | | Peter Lustig | | X | | X |
!!! warning
``Samba`` sollte bereits installiert sein
--- ---
## 2. Benutzer und Gruppen anlegen ## 2. Benutzer und Gruppen anlegen
@@ -29,20 +29,20 @@ sudo adduser plustig # Peter Lustig (Verwaltung)
### 2.2 Gruppen für Rechteverwaltung erstellen ### 2.2 Gruppen für Rechteverwaltung erstellen
````bash ````bash
# Gruppen für Lese-/Schreibrechte # Gruppen für Lese-/Schreibrechte
sudo addgroup angebote_l # Leserechte für Angebote sudo addgroup angebote_r # Leserechte für Angebote
sudo addgroup angebote_ae # Schreibrechte für Angebote sudo addgroup angebote_w # Schreibrechte für Angebote
sudo addgroup lieferscheine_l # Leserechte für Lieferscheine (hier nicht genutzt) sudo addgroup lieferscheine_r # Leserechte für Lieferscheine (hier nicht genutzt)
sudo addgroup lieferscheine_ae # Schreibrechte für Lieferscheine sudo addgroup lieferscheine_w # Schreibrechte für Lieferscheine
```` ````
### 2.3 Benutzer den Gruppen zuweisen ### 2.3 Benutzer den Gruppen zuweisen
````bash ````bash
# Hans Wurst: Darf Angebote lesen und Lieferscheine schreiben # Hans Wurst: Darf Angebote lesen und Lieferscheine schreiben
sudo usermod -aG angebote_l hwurst sudo usermod -aG angebote_r hwurst
sudo usermod -aG lieferscheine_ae hwurst sudo usermod -aG lieferscheine_w hwurst
# Peter Lustig: Darf Angebote und Lieferscheine schreiben # Peter Lustig: Darf Angebote und Lieferscheine schreiben
sudo usermod -aG angebote_ae plustig sudo usermod -aG angebote_w plustig
sudo usermod -aG lieferscheine_ae plustig sudo usermod -aG lieferscheine_w plustig
```` ````
### 2.4 Benutzer in Samba bekannt machen ### 2.4 Benutzer in Samba bekannt machen
@@ -60,11 +60,11 @@ sudo mkdir -p /srv/samba/{angebote,lieferscheine}
```` ````
### 3.2 Besitzer und Gruppe setzen ### 3.2 Besitzer und Gruppe setzen
````bash ````bash
# Angebote: Besitzer = nobody, Gruppe = angebote_ae (Schreibrechte) # Angebote: Besitzer = nobody, Gruppe = angebote_w (Schreibrechte)
sudo chown -R nobody\:angebote_ae /srv/samba/angebote sudo chown -R nobody:angebote_w /srv/samba/angebote
# Lieferscheine: Besitzer = nobody, Gruppe = lieferscheine_ae (Schreibrechte) # Lieferscheine: Besitzer = nobody, Gruppe = lieferscheine_w (Schreibrechte)
sudo chown -R nobody\:lieferscheine_ae /srv/samba/lieferscheine sudo chown -R nobody:lieferscheine_w /srv/samba/lieferscheine
```` ````
### 3.3 Berechtigungen setzen ### 3.3 Berechtigungen setzen
@@ -76,7 +76,8 @@ sudo chmod -R 0077 /srv/samba/lieferscheine
# - 7: Gruppe hat Vollzugriff (rwx) # - 7: Gruppe hat Vollzugriff (rwx)
# - 7: Andere haben Vollzugriff (wird durch Samba eingeschränkt) # - 7: Andere haben Vollzugriff (wird durch Samba eingeschränkt)
```` ````
> Hinweis: Die tatsächlichen Rechte werden später durch Samba (````force create mode, valid users````) gesteuert. !!! note
Die tatsächlichen Rechte werden später durch Samba (````force create mode, valid users````) gesteuert.
## 4. Samba-Freigaben konfigurieren ## 4. Samba-Freigaben konfigurieren
@@ -93,19 +94,19 @@ Fügen Sie folgende Abschnitte am Ende der Datei ein:
guest ok = no guest ok = no
browseable = yes browseable = yes
read only = yes # Standardmäßig schreibgeschützt read only = yes # Standardmäßig schreibgeschützt
valid users = @angebote_l, @angebote_ae # Nur diese Gruppen dürfen zugreifen valid users = @angebote_r, @angebote_w # Nur diese Gruppen dürfen zugreifen
write list = @angebote_ae # Nur diese Gruppe darf schreiben write list = @angebote_w # Nur diese Gruppe darf schreiben
force create mode = 0775 # Neue Dateien: rwxrwxr-x force create mode = 0775 # Neue Dateien: rwxrwxr-x
force directory mode = 0775 # Neue Ordner: rwxrwxr-x force directory mode = 0775 # Neue Ordner: rwxrwxr-x
force group = angebote_ae # Neue Dateien gehören dieser Gruppe force group = angebote_w # Neue Dateien gehören dieser Gruppe
[Lieferscheine] [Lieferscheine]
copy = Angebote # Überträgt alle Einstellungen von Angebote, die nicht nachfolgend angepasst werden: copy = Angebote # Überträgt alle Einstellungen von Angebote, die nicht nachfolgend angepasst werden:
comment = Lieferscheine von Lieferanten comment = Lieferscheine von Lieferanten
path = /srv/samba/lieferscheine path = /srv/samba/lieferscheine
valid users = @lieferscheine, @lieferscheine_ae # Nur diese Gruppe darf zugreifen valid users = @lieferscheine, @lieferscheine_w # Nur diese Gruppe darf zugreifen
write list = @lieferscheine_ae # Nur diese Gruppe darf schreiben write list = @lieferscheine_w # Nur diese Gruppe darf schreiben
force group = lieferscheine_ae force group = lieferscheine_w
```` ````
## 5. Userverzeichnisse (Home-Freigaben) ## 5. Userverzeichnisse (Home-Freigaben)
@@ -120,18 +121,19 @@ Aktivieren Sie die [homes]-Freigabe in ````/etc/samba/smb.conf```` (entkommentie
directory mask = 0700 # Neue Ordner: rwx------ directory mask = 0700 # Neue Ordner: rwx------
valid users = %S # %S = Name des aktuellen Benutzers valid users = %S # %S = Name des aktuellen Benutzers
```` ````
> Hinweis: %S wird automatisch durch den Benutzernamen ersetzt (z. B. hwurst). !!! note
``%S`` wird automatisch durch den Benutzernamen ersetzt (z. B. hwurst).
## 6. Netzwerkpapierkorb ## 6. Netzwerkpapierkorb
Gelöschte Dateien auf Netzlaufwerken können mit dem **Samba Recycle Bin Modul** gesichert werden. Gelöschte Dateien auf Netzlaufwerken können mit dem **Samba Recycle Bin Modul** gesichert werden.
### 6.1 Konfiguration in ````smb.conf```` ### 6.1 Konfiguration in ````smb.conf````
Fügen Sie folgende Optionen global (unter [global]) oder pro Freigabe ein: Fügen Sie folgende Optionen global (unter [global]) oder pro Freigabe ein:
````ini ````ini
vfs objects = recycle # Virtuelles Dateisystem für Papierkorb vfs objects = recycle # Virtuelles Dateisystem für Papierkorb
recycle\:repository = .recyclebin # Ordner für gelöschte Dateien recycle:repository = .recyclebin # Ordner für gelöschte Dateien
recycle\:keeptree = yes # Pfadstruktur im Papierkorb erhalten recycle:keeptree = yes # Pfadstruktur im Papierkorb erhalten
recycle\:versions = yes # Gleichnamige Dateien nicht überschreiben recycle:versions = yes # Gleichnamige Dateien nicht überschreiben
recycle\:maxsize = 0 # Keine Größenbegrenzung pro Datei recycle:maxsize = 0 # Keine Größenbegrenzung pro Datei
recycle\:touch = yes # Zeitstempel anpassen recycle:touch = yes # Zeitstempel anpassen
```` ````
### 6.2 Automatische Bereinigung mit Cron ### 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](../basics/Automatisierung_mit_cron_und_systemd.md) hinzu, um alte Dateien im Papierkorb zu löschen:
@@ -140,12 +142,12 @@ sudo crontab -e
```` ````
Fügen Sie folgende Zeile ein (löscht Dateien älter als 14 Tage): Fügen Sie folgende Zeile ein (löscht Dateien älter als 14 Tage):
````bash ````bash
0 12 * * * for path in $(grep "path =" /etc/samba/smb.conf | cut -d= -f2 | sed 's/ //g'); do find "${path}/.recyclebin" -mindepth 1 -mtime +14 -exec rm -rf {} \; 2>/dev/null; done 0 12 * * * for path in $(grep "path =" /etc/samba/smb.conf | cut -d= -f2 | sed 's/ //g'); do find "${path}/.recyclebin" -mindepth 1 -mtime +14 -exec rm -rf {} ; 2>/dev/null; done
```` ````
Erklärung: !!! note "Erklärung"
* ````0 12 * * *````: Täglich um 12:00 Uhr. * ````0 12 * * *````: Täglich um 12:00 Uhr.
* ````grep "path ="````: Sucht alle ````path````-Einträge in ````smb.conf````. * ````grep "path ="````: Sucht alle ````path````-Einträge in ````smb.conf````.
* ````find ... -mtime +14````: Löscht Dateien älter als 14 Tage im .recyclebin-Ordner. * ````find ... -mtime +14````: Löscht Dateien älter als 14 Tage im .recyclebin-Ordner.
## 7 Häufige Fehler und Lösungen ## 7 Häufige Fehler und Lösungen
@@ -158,11 +160,6 @@ Erklärung:
|Linux kann zugreifen, Windows nicht|Protokollversion zu Alt |In smb.conf ```` server min protocol = SMB2```` und ````smb encrypt = desired ```` nachtragen| |Linux kann zugreifen, Windows nicht|Protokollversion zu Alt |In smb.conf ```` server min protocol = SMB2```` und ````smb encrypt = desired ```` nachtragen|
---
## Inhaltsverzeichnis
[TOC]

View File

@@ -17,9 +17,9 @@ Festplatte: 40 GB (dynamisch alloziert, VDI-Format).
Netzwerk: Netzwerk:
Wählen Sie "Netzwerkbrücke" oder "NAT" (je nach Anforderungen). Wählen Sie "Netzwerkbrücke" oder "NAT" (je nach Anforderungen).
Hinweis: Stellen Sie sicher, dass der Server später auf 10.10.224.119 zugreifen kann. Hinweis: Stellen Sie sicher, dass der Server später auf 10.10.224.119 (cache-server) zugreifen kann.
> ISO download: ubuntu.com/download/server !!! info ISO download: ubuntu.com/download/server
### Schritt 2: VM starten und Installation beginnen ### Schritt 2: VM starten und Installation beginnen
@@ -71,11 +71,11 @@ Statische IP (optional):
Falls nötig, geben Sie manuell eine IP aus dem Netzwerkbereich ein (passend für ihr Subnetz hinter der Fritzbox). Falls nötig, geben Sie manuell eine IP aus dem Netzwerkbereich ein (passend für ihr Subnetz hinter der Fritzbox).
* ````Edit IPv4```` an der Netzwerkkarte ````enp0s3```` auswählen. * ````Edit IPv4```` an der Netzwerkkarte ````enp0s3```` auswählen.
* ````Automatisch (DHCP)```` ändern auf ````Manuell```` * ````Automatisch (DHCP)```` ändern auf ````Manuell````
* Subnetz ````192.168.100.0/24```` * Subnetz ````192.168.100.0/24````
* Adresse ````192.168.100.250```` * Adresse ````192.168.100.250````
* Gateway ````192.168.100.1```` * Gateway ````192.168.100.1````
* Nameserver ````192.168.100.1,1.1.1.1```` * Nameserver ````192.168.100.1,1.1.1.1````
* Suchdomäne ````TN00.ITO```` * Suchdomäne ````TN00.ITO````
Erstelle Bond: Hiermit könnenn mehrere Netzwerkkarten dann auch gekoppelt werden wenn dies am Switch ebenfalls so konfiguriert ist. Erstelle Bond: Hiermit könnenn mehrere Netzwerkkarten dann auch gekoppelt werden wenn dies am Switch ebenfalls so konfiguriert ist.
@@ -147,7 +147,7 @@ Passwort: passw0rd#
### Schritt 9: Ubuntu Pro ### Schritt 9: Ubuntu Pro
Canonical bietet Zusatzleitungen wie automatische updates und Live-Kernel-Updates an. Bei großen Netzwerken kann das Lohnenswert sein. Canonical bietet Zusatzleitungen wie automatische updates und Live-Kernel-Updates an. Bei großen Netzwerken kann das Lohnenswert sein.
Wählen Sie ``Skip fpr now`` und ``Fortfahren`` Wählen Sie ``Skip for now`` und ``Fortfahren``
### Schritt 10: SSH configuration ### Schritt 10: SSH configuration
OpenSSH Server installieren: Ja (wichtig für Remote-Zugriff!) OpenSSH Server installieren: Ja (wichtig für Remote-Zugriff!)
@@ -162,10 +162,9 @@ Warten Sie auf den Abschluss und starten Sie die VM neu.
## Erste Schritte nach der Installation ## Erste Schritte nach der Installation
Schritt 0: Sonderfall etz Schritt 0: Sonderfall etz
> **Wichtiger Hinweis:** !!! warning **Wichtiger Hinweis:**
Damit alle Teilnehmer im Kurs effizient Updates und Software installieren können, wird im Schulungsnetzwerk ein lokaler Paket-Cache (Proxy) verwendet.
> 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!**
> **Diesen Schritt müssen Sie außerhalb der Schulungsstätte (z.B. zu Hause) nicht durchführen!**
So richten Sie den Proxy ein: So richten Sie den Proxy ein:
@@ -184,20 +183,13 @@ sudo apt update && sudo apt upgrade -y
```` ````
### Schritt 2 SSH-Key-Authentifizierung für Windows/PuTTY ### Schritt 2 SSH-Key-Authentifizierung für Windows/PuTTY
#### 1. SSH-Key auf dem Server generieren (optional) #### 1. SSH-Key mit PuTTYgen (Windows) erstellen
Falls Sie den Key direkt auf dem Server erzeugen möchten:
````bash
ssh-keygen -t ed25519
````
* Drücken Sie Enter, um den Standardpfad zu akzeptieren.
* Geben Sie eine Passphrase ein (optional, aber sicherer).
#### 2. SSH-Key mit PuTTYgen (Windows) erstellen
1. Laden Sie PuTTYgen herunter: putty.org 1. Laden Sie PuTTYgen herunter: putty.org
2. Öffnen Sie PuTTYgen und wählen Sie "EdSDA" und Ed25519. 2. Öffnen Sie PuTTYgen und wählen Sie "EdSDA" und Ed25519.
3. Klicken Sie auf "Generate" und bewegen Sie die Maus zufällig, um Entropie zu erzeugen. 3. Klicken Sie auf "Generate" und bewegen Sie die Maus zufällig, um Entropie zu erzeugen.
4. Speichern Sie den privaten Schlüssel (z. B. ``meisterkurs_priv.ppk``) und kopieren Sie den öffentlichen Schlüssel aus dem oberen Fenster. 4. Speichern Sie den privaten Schlüssel (z. B. ``meisterkurs_priv.ppk``) und kopieren Sie den öffentlichen Schlüssel aus dem oberen Fenster.
#### 3. Öffentlichen Schlüssel auf den Server übertragen #### 2. Öffentlichen Schlüssel auf den Server übertragen
Melden Sie sich per Putty mit Passwort auf ihrem Server an: Melden Sie sich per Putty mit Passwort auf ihrem Server an:
@@ -212,18 +204,21 @@ echo "IHR_ÖFFENTLICHER_SCHLÜSSEL" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys
```` ````
#### 4. SSH-Login mit PuTTY testen #### 3. SSH-Login mit PuTTY testen
* Öffnen Sie PuTTY. * Öffnen Sie PuTTY.
* Geben Sie die Server-IP ein. * Geben Sie die Server-IP ein.
* Gehen Sie zu "Connection" → "SSH" → "Auth" → "Credentials" und wählen Sie die bei ``Private Key...`` ihre ``meisterkurs_priv.ppk`` Datei aus. * Gehen Sie zu "Connection" → "SSH" → "Auth" → "Credentials" und wählen Sie die bei ``Private Key...`` ihre ``meisterkurs_priv.ppk`` Datei aus.
* Klicken Sie auf "Open" und melden Sie sich an. * Klicken Sie auf "Open" und melden Sie sich an.
#### 5. Passwort-Login deaktivieren #### 4. Passwort-Login deaktivieren
> erst nach erfolgreicher Key-Anmeldung! !!! warning erst nach erfolgreicher Key-Anmeldung!
Bearbeiten Sie die SSH-Konfiguration: Bearbeiten Sie die SSH-Konfiguration:
````bash ````bash
# Cloud-Init-deaktivieren, da dort Passwort-Login aktiviert wird.
sudo rm /etc/ssh/sshd_config.d/50-cloud-init.conf
# Die eigentliche config dazu bringen:
sudo nano /etc/ssh/sshd_config sudo nano /etc/ssh/sshd_config
```` ````
@@ -235,8 +230,9 @@ PermitRootLogin no
Speichern Sie und starten Sie SSH neu: Speichern Sie und starten Sie SSH neu:
````bash ````bash
sudo systemctl restart sshd sudo systemctl restart ssh
```` ````
!!! tip Versuchen Sie sich erneut mit einem Passwort einzuloggen, wenn es nicht geht, ist alles in Ordnung!
### Automatische Updates einrichten ### Automatische Updates einrichten
````bash ````bash
sudo apt install unattended-upgrades -y sudo apt install unattended-upgrades -y
@@ -252,8 +248,4 @@ Manuelles Backup mit rsync:
sudo apt install rsync -y sudo apt install rsync -y
rsync -av /home/meisterkurs/ /backup/meisterkurs/ 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.
---
## Inhaltsverzeichnis
[TOC]

View File

@@ -16,12 +16,10 @@ Open-Source mySQL Ableger MariaDB empfohlen.
```bash ```bash
sudo apt install apache2 mariadb-server libapache2-mod-php php php-mysql php-xml php-gd php-curl php-zip php-mbstring php-intl php-bcmath php-gmp php-imagick php-redis redis-server php-ldap php-smbclient unzip phpmyadmin sudo apt install apache2 mariadb-server libapache2-mod-php php php-mysql php-xml php-gd php-curl php-zip php-mbstring php-intl php-bcmath php-gmp php-imagick php-redis redis-server php-ldap php-smbclient unzip phpmyadmin
``` ```
!!! warning
Während der Installation für ``phpmyadmin`` werden Sie nach dem zu konfigurierenden webserver abgefragt.Wählen Sie hierfür mit der <kbd>Leertaste</kbd> apache2 aus. Sie erkennen die Auswahl am ````*````.
Abfragen nach dem zu verwendenden Webserver: apache2 !!! info Konfiguriere phpmyadmin: Ja Datenbank Konfigurieren und Passwort setzen
Konfiguriere phpmyadmin: Ja Datenbank Konfigurieren
Passwort setzen
Im Anschluss muss die Datenbank noch gesichert werden um etwaigen Im Anschluss muss die Datenbank noch gesichert werden um etwaigen
Missbrauch zu unterbinden und auch das Root-Passwort wird hier gesetzt Missbrauch zu unterbinden und auch das Root-Passwort wird hier gesetzt
@@ -31,38 +29,26 @@ sudo mysql_secure_installation
``` ```
1. Abfrage des aktuellen Passwortes NICHTS EINGEBEN NUR BESTÄTIGEN 1. Abfrage des aktuellen Passwortes NICHTS EINGEBEN NUR BESTÄTIGEN
2. Soll ein Root-Passwort gesetzt werden? Y 2. Soll auf Unix-Socket-Auth gewechselt werden? N
3. Passwort eingeben und wiederholen 3. Soll ein Root-Passwort gesetzt werden? Y
4. Soll der Anonyme User entfernt werden? Y 4. Passwort eingeben und wiederholen
5. Remote-Login für Root deaktivieren? Y 5. Soll der Anonyme User entfernt werden? Y
6. test-Datenbank entfernen? Y 6. Remote-Login für Root deaktivieren? Y
7. Änderungen übernehmen? Y 7. test-Datenbank entfernen? Y
Jetzt muss einmalig in die SQL-Datenbank der Login für root über das 8. Änderungen übernehmen? Y
Webinterface aktiviert werden:
````bash
sudo mysql -u root -p
````
````sql
use mysql;
update user set plugin='' where User='root';
flush privileges;
\q
````
Zugriff auf ihre Datebank per Webinterface: Zugriff auf ihre Datebank per Webinterface:
http://IP/phpmyadmin http://IP/phpmyadmin
Legen Sie einen neuen Nutzer für NextCloud an und gewähren Sie dem Nutzer alle Rechte an seiner Datenbank „Nextcloud". !!! attention Legen Sie einen neuen Nutzer für NextCloud an und gewähren Sie dem Nutzer alle Rechte an seiner Datenbank „NextCloud".
/newpage
## NextCloud installieren ## NextCloud installieren
@@ -87,7 +73,7 @@ erstellen ````/etc/apache2/sites-available/nextcloud.conf```` mit Inhalt:
<VirtualHost *:80> <VirtualHost *:80>
DocumentRoot "/var/www/nextcloud" DocumentRoot "/var/www/nextcloud"
ServerName nextcloud.hensel.dom ServerName nextcloud.tnxx.ito
ErrorLog ${APACHE_LOG_DIR}/error.log ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/nextcloud/> <Directory /var/www/nextcloud/>
@@ -123,12 +109,11 @@ sudo a2enmod ssl
sudo systemctl restart apache2 sudo systemctl restart apache2
``` ```
Nun können Sie per http auf den Webserver zugreifen Nun können Sie per http auf den Webserver zugreifen http://IP oder http://nextcloud.tnxx.ito
http://nextcloud.hensel.dom
![Erster Login, Eingabe der Admindaten](./nextcloud-ldap-media/image1.png){ align=left } ![Erster Login, Eingabe der Admindaten](./nextcloud-ldap-media/image1.png)
Hier legen Sie nun das Administrator-Konto ein, wobei natürlich Admin und ein schwaches Passwort hier Tabu sind. Hier legen Sie nun das Administrator-Konto an, wobei natürlich Admin und ein schwaches Passwort hier Tabu sind.
Geben Sie als Datenverzeichnis das gerade angelegte Verzeichnis an und geben Sie die entsprechenden Daten die beim Anlagen der Datenbank gesetzt wurden ein. Geben Sie als Datenverzeichnis das gerade angelegte Verzeichnis an und geben Sie die entsprechenden Daten die beim Anlagen der Datenbank gesetzt wurden ein.
@@ -146,18 +131,15 @@ Kümmern wir uns erst einmal um den Cache, wobei wir den Redis-Server bereits in
sudo nano /var/www/nextcloud/config/config.php sudo nano /var/www/nextcloud/config/config.php
``` ```
Fügen Sie eine weitere Zeile vor der schließenden Klammer ein: Fügen Sie eine weitere Zeile vor der schließenden Klammer ein:
...
````php ````php
'dbtype' => 'mysql', ...
'version' => '12.0.0.29',
'dbname' => 'NextCloud',
'dbhost' => 'localhost',
'dbport' => '',
'dbtableprefix' => 'oc_',
'dbuser' => 'NextCloud',
'dbpassword' => 'passw0rd#',
'logtimezone' => 'UTC',
'installed' => true, 'installed' => true,
````
neu:
````php
'memcache.distributed' => '\OC\Memcache\Redis', 'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.local' => '\OC\Memcache\Redis', 'memcache.local' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis', 'memcache.locking' => '\OC\Memcache\Redis',
@@ -165,6 +147,10 @@ Fügen Sie eine weitere Zeile vor der schließenden Klammer ein:
'host' => 'localhost', 'host' => 'localhost',
'port' => 6379, 'port' => 6379,
), ),
````
zwingend vor:
````php
); );
```` ````
Laden Sie Sie Administrator-Seite neu -- Der Fehler sollte weg sein. Laden Sie Sie Administrator-Seite neu -- Der Fehler sollte weg sein.
@@ -185,7 +171,9 @@ Bearbeiten der Datei ````/etc/apache2/sites-available/nextcloud.conf````
````apacheconf ````apacheconf
<VirtualHost *:80> <VirtualHost *:80>
Redirect permanent / https://nextcloud.hensel.dom RewriteEngine On
RewriteCond %{HTTPS} Off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost> </VirtualHost>
<IfModule mod_ssl.c> <IfModule mod_ssl.c>
@@ -199,8 +187,8 @@ Bearbeiten der Datei ````/etc/apache2/sites-available/nextcloud.conf````
</IfModule> </IfModule>
DocumentRoot "/var/www/nextcloud" DocumentRoot "/var/www/nextcloud"
ServerName nextcloud.hensel.dom ServerName nextcloud.tnxx.ito
ServerAlias www.nextcloud.hensel.dom ServerAlias www.nextcloud.tnxx.ito
ErrorLog ${APACHE_LOG_DIR}/error.log ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined CustomLog ${APACHE_LOG_DIR}/access.log combined
@@ -222,7 +210,6 @@ Bearbeiten der Datei ````/etc/apache2/sites-available/nextcloud.conf````
Aktivieren: Aktivieren:
```bash ```bash
sudo a2ensite default-ssl.conf
sudo systemctl restart apache2 sudo systemctl restart apache2
``` ```
@@ -266,8 +253,7 @@ Nextcloud ermöglicht eine einfache Anpassung des Designs an Ihr Firmenlayout di
* Favicon: [Favicon](./Nextcloud_Design/favicon.ico) * Favicon: [Favicon](./Nextcloud_Design/favicon.ico)
## LDAP ## LDAP
!!! note Konfiguration ``smb.conf`` bei einem [Samba AD-DC](../bonus/linux-als-ad-server.md)
Konfiguration smb.conf bei einem Samba AD-DC
````ini ````ini
[global] [global]
ldap server require strong auth = no ldap server require strong auth = no
@@ -305,10 +291,3 @@ Hier definieren Sie welche Gruppen ihres Servers in NextCloud übernommen werden
![Einrichtungstab Expert](./nextcloud-ldap-media/image7.png) ![Einrichtungstab Expert](./nextcloud-ldap-media/image7.png)
In der Benutzerübersicht sollen alle Nutzer mit ihrem Benutzernamen und nicht mit der UUID angezeigt werden. Somit ist es auch für die Nutzer einfacher, sich gegenseitig zu finden. In der Benutzerübersicht sollen alle Nutzer mit ihrem Benutzernamen und nicht mit der UUID angezeigt werden. Somit ist es auch für die Nutzer einfacher, sich gegenseitig zu finden.
---
## Inhaltsverzeichnis
[TOC]

View File

@@ -3,8 +3,8 @@
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: 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. * **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. * **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. Mit diesen Werkzeugen können Sie z.B. eine Datei anlegen oder aktualisieren, um so einen „Herzschlag" (Heartbeat) Ihres Systems zu dokumentieren.
@@ -28,7 +28,7 @@ Fügen Sie folgende Zeile hinzu:
* * * * * /usr/bin/touch /tmp/heartbeat.txt * * * * * /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: 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 ```bash
ls -lah /tmp/heartbeat.txt ls -lah /tmp/heartbeat.txt
@@ -39,7 +39,7 @@ ls -lah /tmp/heartbeat.txt
### Crontab-Syntax erklärt: ### Crontab-Syntax erklärt:
| Feld | Bedeutung | Wert im Beispiel | Bedeutung | | Feld | Bedeutung | Wert im Beispiel | Bedeutung |
| ----------- | --------------- | --------------------------------- | ------------------- | | ----------* | --------------* | --------------------------------* | ------------------* |
| Minute | 0-59 | \* | jede Minute | | Minute | 0-59 | \* | jede Minute |
| Stunde | 0-23 | \* | jede Stunde | | Stunde | 0-23 | \* | jede Stunde |
| Tag (Monat) | 1-31 | \* | jeder Tag | | Tag (Monat) | 1-31 | \* | jeder Tag |
@@ -67,7 +67,7 @@ ls -lah /tmp/heartbeat.txt
*/5 * * * * /usr/bin/touch /tmp/every5min.txt */5 * * * * /usr/bin/touch /tmp/every5min.txt
``` ```
*  alle 5 Minuten beginnend 5 Minuten * alle 5 Minuten beginnend 5 Minuten
## systemd-Unit: Datei beim Systemstart aktualisieren ## systemd-Unit: Datei beim Systemstart aktualisieren
@@ -106,7 +106,7 @@ sudo systemctl enable touch-at-boot.service
sudo systemctl start touch-at-boot.service sudo systemctl start touch-at-boot.service
``` ```
Nach jedem Neustart wird /tmp/boot.txt aktualisiert. Nach jedem Neustart wird /tmp/boot.txt aktualisiert.
**systemd-Unit erklärt:** **systemd-Unit erklärt:**
@@ -133,8 +133,3 @@ sudo systemctl stop <service> # Service stoppen
* **Cronjob**: Für wiederkehrende Aufgaben (regelmäßig, z.B. jede Minute, stündlich, täglich) * **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 * **systemd-Unit**: Für Aufgaben beim Systemstart, beim Herunterfahren oder bei bestimmten Ereignissen
---
## Inhaltsverzeichnis
[TOC]

View File

@@ -2,11 +2,12 @@
## Warum Linux? Weil es mehr kann! ## Warum Linux? Weil es mehr kann!
Linux ist nicht nur ein Betriebssystem es ist **Freiheit**. Keine Lizenzkosten, keine erzwungenen Updates, keine Datensammelwut. Stattdessen: 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! * **Volle Kontrolle** über dein System (keine Blackbox wie bei Windows/macOS).
- **Anpassbar** wie Lego: Von minimalistisch bis vollgepackt mit Tools du entscheidest. * **Sicherheit** durch Open Source: Jeder kann den Code prüfen Backdoors? Fehlanzeige!
- **Perfekt für Entwickler, Maker & Tüftler**: Docker, Python, Server-Tools alles läuft out-of-the-box. * **Anpassbar** wie Lego: Von minimalistisch bis vollgepackt mit Tools du entscheidest.
- **Ressourcenschonend**: Läuft auch auf alter Hardware flüssig (z. B. als Media-Center oder NAS). * **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:** **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. 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.
@@ -40,10 +41,9 @@ Sie richten einen **Ubuntu-Desktop in VirtualBox** ein, lernen die Oberfläche k
## Sonderfall etz ## Sonderfall etz
> **Wichtiger Hinweis:** !!! warning **Wichtiger Hinweis:**
Damit alle Teilnehmer im Kurs effizient Updates und Software installieren können, wird im Schulungsnetzwerk ein lokaler Paket-Cache (Proxy) verwendet.
> 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!**
> **Diesen Schritt müssen Sie außerhalb der Schulungsstätte (z.B. zu Hause) nicht durchführen!**
So richten Sie den Proxy ein: So richten Sie den Proxy ein:
@@ -83,8 +83,3 @@ Weitere Programme können Sie in einem kleinen Projekt ausprobieren: [Mein erste
* Für RDP: Verwenden Sie Microsoft Remotedesktopverbindung * 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). 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).
---
## Inhaltsverzeichnis
[TOC]

View File

@@ -23,6 +23,11 @@ Lassen Sie sich das aktuelle Verzeichnis anzeigen.
pwd pwd
``` ```
Kurzbeispielausgabe:
```bash
/home/benutzer
```
## Wechseln Sie in Ihr Home-Verzeichnis. ## Wechseln Sie in Ihr Home-Verzeichnis.
Tipp: Das Home-Verzeichnis erreichen Sie mit: Tipp: Das Home-Verzeichnis erreichen Sie mit:
@@ -31,16 +36,36 @@ Tipp: Das Home-Verzeichnis erreichen Sie mit:
cd ~ cd ~
``` ```
Kurzbeispielausgabe nach cd:
```bash
pwd
/home/benutzer
```
## Erstellen Sie im Home-Verzeichnis einen Ordner „projekt". ## Erstellen Sie im Home-Verzeichnis einen Ordner „projekt".
```bash ```bash
mkdir projekt mkdir -p projekt
```
Prüfung:
```bash
ls
projekt
``` ```
## Erstellen Sie darin zwei Unterordner „dokumente" und „bilder". ## Erstellen Sie darin zwei Unterordner „dokumente" und „bilder".
```bash ```bash
mkdir projekt/dokumente projekt/bilder mkdir -p projekt/dokumente projekt/bilder
```
Prüfung:
```bash
ls -lah projekt
``` ```
## Wechseln Sie in den Ordner „projekt". ## Wechseln Sie in den Ordner „projekt".
@@ -49,49 +74,95 @@ mkdir projekt/dokumente projekt/bilder
cd projekt cd projekt
``` ```
Prüfung:
```bash
pwd
/home/benutzer/projekt
```
## Erstellen Sie drei Textdateien: „notizen.txt", „aufgaben.txt", „ideen.txt". ## Erstellen Sie drei Textdateien: „notizen.txt", „aufgaben.txt", „ideen.txt".
```bash ```bash
touch notizen.txt aufgaben.txt ideen.txt touch notizen.txt aufgaben.txt ideen.txt
``` ```
Prüfung:
```bash
ls -la
tree
```
## Erstellen Sie zwei Bilddateien (Platzhalter): „bild1.jpg" und „bild2.jpg". ## Erstellen Sie zwei Bilddateien (Platzhalter): „bild1.jpg" und „bild2.jpg".
```bash ```bash
touch bild1.jpg bild2.jpg touch bild1.jpg bild2.jpg
``` ```
Prüfung:
```bash
ls -la
tree
```
## Kopieren Sie „notizen.txt" und „aufgaben.txt" in den Ordner „dokumente". ## Kopieren Sie „notizen.txt" und „aufgaben.txt" in den Ordner „dokumente".
```bash ```bash
cp notizen.txt aufgaben.txt dokumente/ cp notizen.txt aufgaben.txt dokumente/
``` ```
Prüfung:
```bash
tree
```
## Verschieben Sie „ideen.txt" in den Ordner „dokumente". ## Verschieben Sie „ideen.txt" in den Ordner „dokumente".
```bash ```bash
mv ideen.txt dokumente/ mv ideen.txt dokumente/
``` ```
Prüfung:
```bash
tree -a
```
## Verschieben Sie „bild1.jpg" und „bild2.jpg" in den Ordner „bilder". ## Verschieben Sie „bild1.jpg" und „bild2.jpg" in den Ordner „bilder".
```bash ```bash
mv bild1.jpg bild2.jpg bilder/ mv bild1.jpg bild2.jpg bilder/
``` ```
Prüfung:
```bash
tree
```
## Zeigen Sie die Ordnerstruktur mit „tree" an. ## Zeigen Sie die Ordnerstruktur mit „tree" an.
```bash ```bash
tree ~/projekt tree ~/projekt
``` ```
Erweiterte Prüfung:
```bash
tree ~/projekt
```
## Öffnen Sie eine der Textdateien mit „nano" und schreiben Sie einen kurzen Text hinein. ## Öffnen Sie eine der Textdateien mit „nano" und schreiben Sie einen kurzen Text hinein.
```bash ```bash
nano dokumente/notizen.txt nano dokumente/notizen.txt
``` ```
> Speichern Sie mit Strg+O, beenden Sie mit Strg+X. !!! note Speichern Sie mit <kbd>strg</kbd>+<kbd>s</kbd>, beenden Sie mit <kbd>strg</kbd>+<kbd>X</kbd>.
Prüfung:
```bash
cat dokumente/notizen.txt
```
## Zeigen Sie Ihre aktuelle IP-Adresse an. ## Zeigen Sie Ihre aktuelle IP-Adresse an.
@@ -99,30 +170,67 @@ nano dokumente/notizen.txt
ip address ip address
``` ```
**oder** Abgekürzte Beispielausgabe (IPv4):
```bash
2: eth0: <...>
inet 192.168.1.10/24 brd 192.168.1.255 scope global eth0
```
Alternative:
```bash ```bash
hostname -I hostname -I
``` ```
Beispielausgabe:
```bash
192.168.1.10
```
## Überwachen Sie Ihr System mit „htop". ## Überwachen Sie Ihr System mit „htop".
```bash ```bash
htop htop
``` ```
Abgekürzte Beispielausgabe (nicht-interaktiv, SnapShot):
```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. ## Zeigen Sie die Speicherauslastung an.
```bash ```bash
df -h 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. ## Zeigen Sie die Arbeitsspeicher-Auslastung an.
```bash ```bash
free -h 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? ## Wie finden Sie Hilfe zu einem Befehl?
```bash ```bash
@@ -134,13 +242,18 @@ Beispiel:
```bash ```bash
man ls man ls
``` ```
!!! attention Zum verlassen <kbd>q</kbd> oder <kbd>strg</kbd>+<kbd>c</kbd>
## Zusatzaufgabe: ## 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. 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.
> Viel Erfolg beim Erkunden der Linux-Befehle und beim Organisieren Ihrer Dateien! Beispiel:
```bash
touch dokumente/zusatz.txt
echo "Testinhalt" > dokumente/zusatz.txt
mv dokumente/zusatz.txt bilder/
tree ~/projekt
```
---
## Inhaltsverzeichnis !!! success Viel Erfolg beim Erkunden der Linux-Befehle und beim Organisieren Ihrer Dateien!
[TOC]

View File

@@ -1,6 +1,7 @@
# Mein erstes Linux Projekt # Mein erstes Linux Projekt
**Aufgabe**: Installieren Sie **3 Programme** aus der Liste und dokumentieren: **Aufgabe**: Installieren Sie **3 Programme** aus der Liste und dokumentieren:
1. **Warum** haben Sie sie gewählt? 1. **Warum** haben Sie sie gewählt?
2. **Wie** haben Sie sie installiert (Terminal vs. Anwendungsverwaltung)? 2. **Wie** haben Sie sie installiert (Terminal vs. Anwendungsverwaltung)?
3. **Was** können Sie damit machen? (z. B. Screenshot mit Flameshot, Backup mit Timeshift). 3. **Was** können Sie damit machen? (z. B. Screenshot mit Flameshot, Backup mit Timeshift).
@@ -8,6 +9,7 @@
## Tools für Einsteiger ## Tools für Einsteiger
Warum diese Programme? Weil sie: Warum diese Programme? Weil sie:
* **Alltagsprobleme lösen** (z. B.Screenshots, PDFs bearbeiten). * **Alltagsprobleme lösen** (z. B.Screenshots, PDFs bearbeiten).
* **Spaß machen** (z. B. Spiele, Medien). * **Spaß machen** (z. B. Spiele, Medien).
* **Produktivität steigern** (z. B. Notizen, Cloud-Sync). * **Produktivität steigern** (z. B. Notizen, Cloud-Sync).
@@ -80,9 +82,3 @@ Manche Programme (z. B. GIMP) gibt es dort mit **Bewertungen** - hilfreich für
| **GitKraken** | Git-Client mit GUI (einfacher als Terminal). | sudo flatpak install gitkraken |\--classic | | **GitKraken** | Git-Client mit GUI (einfacher als Terminal). | sudo flatpak install gitkraken |\--classic |
| **Postman** | API-Testing (für Web-Entwickler). | sudo flatpak install postman| | **Postman** | API-Testing (für Web-Entwickler). | sudo flatpak install postman|
------------------------------------------------------------------------
---
## Inhaltsverzeichnis
[TOC]

View File

@@ -3,19 +3,18 @@
## Ziel des Projekts ## 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. 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.
Der ursprüngliche USB-Stick entfällt alle Medien kommen direkt aus dem Netzwerk (z.B. vom Windows-PC).
## 1. Vorbereitung ## 1. Vorbereitung
### 1.1 Voraussetzungen ### 1.1 Voraussetzungen
- Linux-Server (z.B. Ubuntu 24.04 LTS oder Linux Mint) * Linux-Server (z.B. Ubuntu 24.04 LTS oder Linux Mint)
- Samba ist installiert und läuft * Samba ist installiert und läuft
- Windows-PC im gleichen Netzwerk (legt Medien per Freigabe ab) * Windows-PC im gleichen Netzwerk (legt Medien per Freigabe ab)
- Virtuelle Maschine (z.B. VirtualBox) mit: * Virtuelle Maschine (z.B. VirtualBox) mit:
- Linux Mint + Kodi **oder** * Linux Mint + Kodi **oder**
- Direkt in Windows * Direkt in Windows
- Netzwerkzugriff zwischen Server, Windows-PC und VM * Netzwerkzugriff zwischen Server, Windows-PC und VM
### 1.2 Samba-Grundkonfiguration prüfen ### 1.2 Samba-Grundkonfiguration prüfen
@@ -69,8 +68,8 @@ die Worte in den geschweiften Klammern ````{}```` werden nacheinander mit im Bef
sudo chown -R nobody:nogroup /srv/samba/{musik,videos,bilder,roms} sudo chown -R nobody:nogroup /srv/samba/{musik,videos,bilder,roms}
sudo chmod -R 775 /srv/samba/{musik,videos,bilder,roms} sudo chmod -R 775 /srv/samba/{musik,videos,bilder,roms}
```` ````
- `nobody:nogroup`: typischer Besitzer für anonyme Zugriffe * `nobody:nogroup`: typischer Besitzer für anonyme Zugriffe
- `775`: Besitzer/Gruppe Vollzugriff, andere lesen + ausführen * `775`: Besitzer/Gruppe Vollzugriff, andere lesen + ausführen
## 3. Samba-Freigaben für Medien einrichten ## 3. Samba-Freigaben für Medien einrichten
@@ -135,11 +134,11 @@ Falls Gastzugriff erlaubt ist (`guest ok = yes`), kann meist ohne Benutzername/P
In produktiven Szenarien sollten stattdessen Benutzerkonten und `guest ok = no` verwendet werden. In produktiven Szenarien sollten stattdessen Benutzerkonten und `guest ok = no` verwendet werden.
### 4.2 Medien kopieren ### 4.2 Medien kopieren
- Auf dem Windows-PC: * Auf dem Windows-PC:
- Musik-Dateien nach `\\IP\Musik` kopieren * Musik-Dateien nach `\\IP\Musik` kopieren
- Video-Dateien nach `\\IP\Videos` * Video-Dateien nach `\\IP\Videos`
- Bilder nach `\\IP\Bilder` * Bilder nach `\\IP\Bilder`
- ROMs (z.B. `.nes`, `.sfc`, `.iso`) nach `\\IP\ROMs` * ROMs (z.B. `.nes`, `.sfc`, `.iso`) nach `\\IP\ROMs`
Zur Kontrolle auf dem Server: Zur Kontrolle auf dem Server:
````bash ````bash
@@ -171,16 +170,16 @@ In Kodi:
3. **Durchsuchen → Netzwerkfreigabe hinzufügen → SMB** 3. **Durchsuchen → Netzwerkfreigabe hinzufügen → SMB**
4. Server-IP eintragen (z.B. `192.168.178.50`) 4. Server-IP eintragen (z.B. `192.168.178.50`)
5. Freigabe auswählen, z.B.: 5. Freigabe auswählen, z.B.:
- `Musik` * `Musik`
- `Videos` * `Videos`
- `Bilder` * `Bilder`
- `ROMs` * `ROMs`
Wenn `guest ok = yes` gesetzt ist, kann meist mit **Gast** zugegriffen werden. Wenn `guest ok = yes` gesetzt ist, kann meist mit **Gast** zugegriffen werden.
Bei Benutzerauthentifizierung: Bei Benutzerauthentifizierung:
- Benutzername: Samba-Benutzer (z.B. `medienuser`) * Benutzername: Samba-Benutzer (z.B. `medienuser`)
- Passwort: entsprechend `smbpasswd` * Passwort: entsprechend `smbpasswd`
Quelle benennen, z.B. „Musik-Samba“. Quelle benennen, z.B. „Musik-Samba“.
@@ -214,15 +213,15 @@ Unter **Bilder** Quellen hinzufügen und direkt als Bilderquelle verwenden.
2. Ein Wetter-Add-on (z.B. OpenWeatherMap) auswählen 2. Ein Wetter-Add-on (z.B. OpenWeatherMap) auswählen
3. Installieren 3. Installieren
4. In den Add-on-Einstellungen: 4. In den Add-on-Einstellungen:
- API-Schlüssel eintragen (bei Bedarf vorher erstellen) * API-Schlüssel eintragen (bei Bedarf vorher erstellen)
- Standort konfigurieren (z.B. „Berlin, DE“) * Standort konfigurieren (z.B. „Berlin, DE“)
### 7.2 Retro-Spiele (ROMs) ### 7.2 Retro-Spiele (ROMs)
1. **Add-ons → Aus Repository installieren → Spiele → Emulator-Add-ons** 1. **Add-ons → Aus Repository installieren → Spiele → Emulator-Add-ons**
2. Passende Emulatoren (z.B. für NES, SNES, PlayStation) installieren 2. Passende Emulatoren (z.B. für NES, SNES, PlayStation) installieren
3. In den Emulator-Einstellungen: 3. In den Emulator-Einstellungen:
- ROM-Pfade hinzufügen, z.B. `smb://192.168.178.50/ROMs` * ROM-Pfade hinzufügen, z.B. `smb://192.168.178.50/ROMs`
Mehr Funktionen was Spielen angeht müssen Sie sich im Netz informieren. Mehr Funktionen was Spielen angeht müssen Sie sich im Netz informieren.
### 7.3 Skin anpassen ### 7.3 Skin anpassen
@@ -231,8 +230,3 @@ Mehr Funktionen was Spielen angeht müssen Sie sich im Netz informieren.
2. „Weitere Skins herunterladen“ auswählen 2. „Weitere Skins herunterladen“ auswählen
3. Z.B. **Estuary Mod V2** installieren 3. Z.B. **Estuary Mod V2** installieren
4. Aktivieren → Kodi neustarten 4. Aktivieren → Kodi neustarten
---
## Inhaltsverzeichnis
[TOC]

View File

@@ -16,7 +16,7 @@ Diese Anleitung zeigt Schritt für Schritt, wie Sie von einem Windows-Rechner au
5. Klicken Sie auf **„Installieren“** und geben Sie bei Nachfrage Ihr Passwort ein. 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. 6. Warten Sie, bis die Installation abgeschlossen ist der Dienst startet danach automatisch.
> Hinweis: Bei der Installation legt xrdp automatisch die Gruppe **„xrdp“** an. Benutzer dieser Gruppe dürfen sich per Remote Desktop anmelden. !!! 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.2 Benutzer grafisch der Gruppe „xrdp“ hinzufügen
@@ -45,17 +45,17 @@ Diese Anleitung zeigt Schritt für Schritt, wie Sie von einem Windows-Rechner au
5. Optional: Klicken Sie auf **„Optionen einblenden“**, um Anzeigeeinstellungen anzupassen. 5. Optional: Klicken Sie auf **„Optionen einblenden“**, um Anzeigeeinstellungen anzupassen.
6. Klicken Sie auf **„Verbinden“**. 6. Klicken Sie auf **„Verbinden“**.
7. Beim ersten Verbindungsaufbau erscheint ein Hinweis zur Identität des Remotecomputers: 7. Beim ersten Verbindungsaufbau erscheint ein Hinweis zur Identität des Remotecomputers:
- Bestätigen Sie mit **„Ja“**. * Bestätigen Sie mit **„Ja“**.
8. Es erscheint der **xrdp-Anmeldebildschirm**: 8. Es erscheint der **xrdp-Anmeldebildschirm**:
- Sitzungsart: **„Xorg“** belassen (Standard) * Sitzungsart: **„Xorg“** belassen (Standard)
- **Benutzername**: z.B. `meister` * **Benutzername**: z.B. `meister`
- **Passwort**: Passwort des Linux-Kontos * **Passwort**: Passwort des Linux-Kontos
9. Klicken Sie auf **„OK“** oder **„Anmelden“**. 9. Klicken Sie auf **„OK“** oder **„Anmelden“**.
Nach kurzer Zeit sollte der LinuxMintDesktop in einem Fenster auf Ihrem Windows-Rechner erscheinen. Nach kurzer Zeit sollte der LinuxMintDesktop in einem Fenster auf Ihrem Windows-Rechner erscheinen.
Sie haben damit den ersten Erfolg: grafischer Remote-Zugriff funktioniert. Sie haben damit den ersten Erfolg: grafischer Remote-Zugriff funktioniert.
--- --*
## 2. Textbasierter Zugriff mit SSH und PuTTY ## 2. Textbasierter Zugriff mit SSH und PuTTY
@@ -70,7 +70,7 @@ Nach dem erfolgreichen grafischen Zugriff richten Sie nun den SSH-Zugriff ein.
5. Klicken Sie auf **„Installieren“** und geben Sie Ihr Passwort ein. 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. 6. Warten Sie, bis die Installation abgeschlossen ist der SSH-Dienst startet automatisch und wird beim Systemstart aktiviert.
> Die IP-Adresse bleibt dieselbe wie im Remote-Desktop-Teil; sie muss nicht neu gesucht werden. !!! tip Die IP-Adresse bleibt dieselbe wie im Remote-Desktop-Teil; sie muss nicht neu gesucht werden.
@@ -89,14 +89,14 @@ Nach dem erfolgreichen grafischen Zugriff richten Sie nun den SSH-Zugriff ein.
1. Starten Sie **PuTTY** über das Windows-Startmenü. 1. Starten Sie **PuTTY** über das Windows-Startmenü.
2. Im Feld **„Host Name (or IP address)“** tragen Sie die IP-Adresse des LinuxMintRechners ein, z.B. `192.168.1.50`. 2. Im Feld **„Host Name (or IP address)“** tragen Sie die IP-Adresse des LinuxMintRechners ein, z.B. `192.168.1.50`.
3. Prüfen Sie: 3. Prüfen Sie:
- **Port**: `22` * **Port**: `22`
- **Connection type**: `SSH` * **Connection type**: `SSH`
4. Optional: 4. Optional:
- Geben Sie unter **„Saved Sessions“** einen Namen wie `Mint-SSH` ein. * Geben Sie unter **„Saved Sessions“** einen Namen wie `Mint-SSH` ein.
- Klicken Sie auf **„Save“**, um die Sitzung zu speichern. * Klicken Sie auf **„Save“**, um die Sitzung zu speichern.
5. Klicken Sie auf **„Open“**. 5. Klicken Sie auf **„Open“**.
6. Beim ersten Verbindungsaufbau erscheint ein Sicherheitshinweis zum Server-Schlüssel: 6. Beim ersten Verbindungsaufbau erscheint ein Sicherheitshinweis zum Server-Schlüssel:
- Bestätigen Sie mit **„Accept“** bzw. **„Ja“**. * Bestätigen Sie mit **„Accept“** bzw. **„Ja“**.
7. Geben Sie im Terminalfenster den **Benutzernamen** Ihres Linux-Kontos ein und drücken Sie Enter. 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. 8. Geben Sie anschließend Ihr **Passwort** ein (es wird beim Tippen nicht angezeigt) und bestätigen Sie mit Enter.
@@ -106,15 +106,10 @@ Sie sind nun per SSH mit Linux Mint verbunden und können textbasierte Befehle a
## 3. Kurzer Überblick: Was wurde erreicht? ## 3. Kurzer Überblick: Was wurde erreicht?
- **xrdp + Remotedesktop**: * **xrdp + Remotede sktop**:
- Grafischer Zugriff auf den LinuxMintDesktop von Windows aus * Grafischer Zugriff auf den LinuxMintDesktop von Windows aus
- Benutzersteuerung über die bestehende Gruppe **„xrdp“** * Benutzersteuerung über die bestehende Gruppe **„xrdp“**
- **OpenSSH-Server + PuTTY**: * **OpenSSH-Server + PuTTY**:
- Textbasierter Zugriff (Shell) auf Linux Mint * Textbasierter Zugriff (Shell) auf Linux Mint
- Ideal für Administration, Skripte und Log-Analyse * Ideal für Administration, Skripte und Log-Analyse
---
## Inhaltsverzeichnis
[TOC]

View File

@@ -1,17 +1,17 @@
# Samba-Konfiguration für Linux-Einsteiger # Samba-Konfiguration für Linux-Einsteiger
## Einführung in Samba ## 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. **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: ### Wichtige Anwendungsfälle:
- **Dateifreigaben** im lokalen Netzwerk (z. B. für Medien, Dokumente oder Backups). * **Dateifreigaben** im lokalen Netzwerk (z. B. für Medien, Dokumente oder Backups).
- **Druckerfreigaben** für Windows-Clients. * **Druckerfreigaben** für Windows-Clients.
- **Zentraler Speicher** für mehrere Nutzer (z. B. in kleinen Büros oder Heimnetzwerken). * **Zentraler Speicher** für mehrere Nutzer (z. B. in kleinen Büros oder Heimnetzwerken).
### Voraussetzungen: ### Voraussetzungen:
- Ein **Linux-Server** (z. B. Ubuntu, Debian, Raspberry Pi OS). * Ein **Linux-Server** (z. B. Ubuntu, Debian, Raspberry Pi OS).
- **Root-Zugriff** oder ````sudo````-Berechtigungen. * **Root-Zugriff** oder ````sudo````-Berechtigungen.
- Grundkenntnisse in der **Linux-Kommandozeile**. * Grundkenntnisse in der **Linux-Kommandozeile**.
--- ---
@@ -92,6 +92,7 @@ Fügen sie unterhalb dieser Einstellungen im noch im Bereich [Global] :
### Freigaben definieren ### 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. 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: Grundlegende Optionen:
|Option |Bedeutung |Beispiel | |Option |Bedeutung |Beispiel |
|--------------|------------------------------------------------------------------------|--------------------------| |--------------|------------------------------------------------------------------------|--------------------------|
|comment |Beschreibung der Freigabe (erscheint im Explorer). |comment = Medienarchiv | |comment |Beschreibung der Freigabe (erscheint im Explorer). |comment = Medienarchiv |
@@ -140,7 +141,7 @@ Samba kann Drucker für Windows-Clients freigeben:
## Rechteverwaltung unter Linux ## Rechteverwaltung unter Linux
Die korrekte Vergabe von Datei- und Ordnerrechten ist essenziell für die Sicherheit und Funktionalität von Samba-Freigaben. Die korrekte Vergabe von Datei* und Ordnerrechten ist essenziell für die Sicherheit und Funktionalität von Samba-Freigaben.
### ````chown````: Besitzer und Gruppe ändern ### ````chown````: Besitzer und Gruppe ändern
Jede Datei/Ordner gehört einem **Besitzer (User)** und einer **Gruppe (Group)**. Jede Datei/Ordner gehört einem **Besitzer (User)** und einer **Gruppe (Group)**.
Syntax: Syntax:
@@ -148,10 +149,11 @@ Syntax:
sudo chown [BESITZER]:[GRUPPE] [DATEI/ORDNER] sudo chown [BESITZER]:[GRUPPE] [DATEI/ORDNER]
```` ````
Beispiele: Beispiele:
|Befehl| Wirkung| |Befehl| Wirkung|
|-|-| |-|-|
|sudo chown felix:mitarbeiter /srv/samba|Besitzer: felix, Gruppe: mitarbeiter. | |sudo chown felix:mitarbeiter /srv/samba|Besitzer: felix, Gruppe: mitarbeiter. |
|sudo chown :mitarbeiter /srv/samba|Ändert nur die Gruppe auf 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.| |sudo chown -R nobody:mitarbeiter /srv/samba|Rekursiv: Besitzer: nobody, Gruppe: mitarbeiter für alle Unterordner/Dateien.|
@@ -219,6 +221,7 @@ sudo chmod [OPTIONEN] [RECHTE] [DATEI/ORDNER]
* ````-R````: Rekursiv (für alle Unterordner/Dateien). * ````-R````: Rekursiv (für alle Unterordner/Dateien).
#### Beispiele: #### Beispiele:
|Befehl |Wirkung | |Befehl |Wirkung |
|----------------------------|---------------------------------------------| |----------------------------|---------------------------------------------|
|sudo chmod 755 /srv/samba |Besitzer: rwx, Gruppe/Andere: r-x. | |sudo chmod 755 /srv/samba |Besitzer: rwx, Gruppe/Andere: r-x. |
@@ -258,7 +261,7 @@ sudo usermod -aG mitarbeiter felix # Fügt "felix" der Gruppe "mitarbeiter" hin
#### 3. Gruppe einer Datei/Ordner zuweisen: #### 3. Gruppe einer Datei/Ordner zuweisen:
````bash ````bash
sudo chown \:mitarbeiter /srv/samba/dokumente # Setzt die Gruppe auf "mitarbeiter". sudo chgrp mitarbeiter /srv/samba/dokumente # Setzt die Gruppe auf "mitarbeiter".
sudo chmod 770 /srv/samba/dokumente # Gruppe erhält Vollzugriff. sudo chmod 770 /srv/samba/dokumente # Gruppe erhält Vollzugriff.
```` ````
#### 4. Gruppe in Samba nutzen: #### 4. Gruppe in Samba nutzen:
@@ -277,7 +280,7 @@ Anwendungsfall: Medienfreigabe für alle Nutzer im Netzwerk (z. B. Musik, Filme)
**Schritt 1: Ordner erstellen und Rechte setzen** **Schritt 1: Ordner erstellen und Rechte setzen**
````bash ````bash
sudo mkdir -p /srv/samba/medien sudo mkdir -p /srv/samba/medien
sudo chown nobody\:nogroup /srv/samba/medien # Besitzer: "nobody", Gruppe: "nogroup" sudo chown nobody:nogroup /srv/samba/medien # Besitzer: "nobody", Gruppe: "nogroup"
sudo chmod 777 /srv/samba/medien # Temporär volle Rechte (für Test) sudo chmod 777 /srv/samba/medien # Temporär volle Rechte (für Test)
```` ````
**Schritt 2: Freigabe in smb.conf definieren** **Schritt 2: Freigabe in smb.conf definieren**
@@ -349,7 +352,7 @@ sudo mkdir -p /srv/samba/neue_freigabe
**2. Besitzer und Gruppe setzen:** **2. Besitzer und Gruppe setzen:**
````bash ````bash
sudo chown nobody\:mitarbeiter /srv/samba/neue_freigabe sudo chown nobody:mitarbeiter /srv/samba/neue_freigabe
```` ````
**3. Rechte setzen:** **3. Rechte setzen:**
@@ -383,7 +386,8 @@ sudo systemctl restart smbd
```` ````
## Häufige Fehler und Lösungen ## Häufige Fehler und Lösungen:
|Problem |Ursache |Lösung | |Problem |Ursache |Lösung |
|------------------------------------|------------------------------------------------------|----------------------------------------------------------------------| |------------------------------------|------------------------------------------------------|----------------------------------------------------------------------|
|Freigabe nicht sichtbar |browseable = no oder Firewall blockiert Samba. |browseable = yes setzen oder Firewall prüfen (sudo ufw allow samba). | |Freigabe nicht sichtbar |browseable = no oder Firewall blockiert Samba. |browseable = yes setzen oder Firewall prüfen (sudo ufw allow samba). |
@@ -403,7 +407,7 @@ sudo systemctl restart smbd
|````sudo smbpasswd -a nutzername```` |Nutzer zu Samba hinzufügen. | |````sudo smbpasswd -a nutzername```` |Nutzer zu Samba hinzufügen. |
|````sudo chown besitzer:gruppe pfad```` |Besitzer und Gruppe einer Datei/eines Ordners ändern.| |````sudo chown besitzer:gruppe pfad```` |Besitzer und Gruppe einer Datei/eines Ordners ändern.|
|````sudo chmod 755 pfad```` |Rechte auf rwxr-xr-x setzen. | |````sudo chmod 755 pfad```` |Rechte auf rwxr-xr-x setzen. |
|````sudo chmod -R 770 pfad```` |Rechte rekursiv auf rwxrwx--- setzen. | |````sudo chmod -R 770 pfad```` |Rechte rekursiv auf rwxrwx--* setzen. |
|````sudo adduser nutzername```` |Benutzer erstellen. | |````sudo adduser nutzername```` |Benutzer erstellen. |
|````sudo addgroup gruppenname```` |Gruppe erstellen. | |````sudo addgroup gruppenname```` |Gruppe erstellen. |
|````sudo usermod -aG gruppenname nutzername````|Nutzer einer Gruppe hinzufügen. | |````sudo usermod -aG gruppenname nutzername````|Nutzer einer Gruppe hinzufügen. |
@@ -430,7 +434,7 @@ sudo ufw allow samba # Erlaubt Samba-Ports (139, 445).
Logs prüfen: Logs prüfen:
Fehler finden Sie in /var/log/samba/log.%m. Fehler finden Sie in ````/var/log/samba/log.%m````.
## Anhang: Spezialrechte (Sticky Bit, SUID, SGID) ## Anhang: Spezialrechte (Sticky Bit, SUID, SGID)
@@ -452,13 +456,8 @@ Für fortgeschrittene Anwendungsfälle können Spezialrechte gesetzt werden:
**Samba-spezifische Nutzung:** **Samba-spezifische Nutzung:**
* **SGID** ist nützlich, um sicherzustellen, dass neue Dateien/Ordner in einer Freigabe automatisch der richtigen Gruppe gehören: * **SGID** ist nützlich, um sicherzustellen, dass neue Dateien/Ordner in einer Freigabe automatisch der richtigen Gruppe gehören:
````bash ````bash
sudo chmod 2770 /srv/samba/dokumente # SGID + Besitzer/Gruppe: rwx sudo chmod 2770 /srv/samba/dokumente # SGID + Besitzer/Gruppe: rwx
```` ````
---
## Inhaltsverzeichnis
[TOC]

View File

@@ -4,9 +4,9 @@ Diese Anleitung zeigt Schritt für Schritt, wie Sie unter Linux Mint zuerst Note
## Voraussetzungen ## Voraussetzungen
- Installiertes Linux Mint * Installiertes Linux Mint
- Internetzugang * Internetzugang
- Ein normales Benutzerkonto * Ein normales Benutzerkonto
## Bottles installieren ## Bottles installieren
@@ -31,8 +31,8 @@ Damit Verknüpfungen (DesktopIcons und Menüeinträge) korrekt angelegt werde
2. Wählen Sie in der linken Liste die Anwendung **„Bottles“** aus. 2. Wählen Sie in der linken Liste die Anwendung **„Bottles“** aus.
3. Gehen Sie zum Bereich **„Filesystem“** (oder „Dateisystem“). 3. Gehen Sie zum Bereich **„Filesystem“** (oder „Dateisystem“).
4. Aktivieren bzw. fügen Sie folgende Pfade hinzu: 4. Aktivieren bzw. fügen Sie folgende Pfade hinzu:
- ```xdg-data/applications``` * ```xdg-data/applications```
- ```~/.local/share/applications``` * ```~/.local/share/applications```
5. Speichern ist nicht nötig; die Änderungen gelten sofort. 5. Speichern ist nicht nötig; die Änderungen gelten sofort.
6. Schließen Sie Flatseal und starten Sie **Bottles** einmal neu. 6. Schließen Sie Flatseal und starten Sie **Bottles** einmal neu.
@@ -56,7 +56,7 @@ Damit kann Bottles jetzt DesktopVerknüpfungen und Menüeinträge korrekt anl
1. Öffnen Sie Ihren **Webbrowser** (z.B. Firefox). 1. Öffnen Sie Ihren **Webbrowser** (z.B. Firefox).
2. Rufen Sie die Seite auf: 2. Rufen Sie die Seite auf:
- `https://notepad-plus-plus.org` * `https://notepad-plus-plus.org`
3. Klicken Sie auf **Download**. 3. Klicken Sie auf **Download**.
4. Laden Sie den **WindowsInstaller** (Dateiname ähnlich `npp.x.y.Installer.exe`) in den Ordner **Downloads** herunter. 4. Laden Sie den **WindowsInstaller** (Dateiname ähnlich `npp.x.y.Installer.exe`) in den Ordner **Downloads** herunter.
@@ -69,10 +69,10 @@ Damit kann Bottles jetzt DesktopVerknüpfungen und Menüeinträge korrekt anl
3. Navigieren Sie im Dateidialog zum Ordner **Downloads**. 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**. 4. Wählen Sie die Datei `npp.x.y.Installer.exe` aus und klicken Sie auf **Öffnen**.
5. Im Installationsassistenten: 5. Im Installationsassistenten:
- Sprache auswählen (z.B. Deutsch) * Sprache auswählen (z.B. Deutsch)
- Lizenzbedingungen akzeptieren * Lizenzbedingungen akzeptieren
- Standardpfad beibehalten * Standardpfad beibehalten
- Komponenten unverändert lassen * Komponenten unverändert lassen
6. Zum Schluss auf **Fertigstellen** klicken. 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. Bottles legt nun in dieser Bottle einen Programmeintrag für Notepad++ an und kann mit den eingestellten Rechten auch Verknüpfungen anlegen.
@@ -85,9 +85,9 @@ Bottles legt nun in dieser Bottle einen Programmeintrag für Notepad++ an und ka
2. Unter **„Programs“** (Programme) finden Sie **„Notepad++“**. 2. Unter **„Programs“** (Programme) finden Sie **„Notepad++“**.
3. Klicken Sie auf **Notepad++**, um das Programm zu starten. 3. Klicken Sie auf **Notepad++**, um das Programm zu starten.
4. Testen Sie die Funktion: 4. Testen Sie die Funktion:
- Neue Datei anlegen * Neue Datei anlegen
- Text schreiben * Text schreiben
- Datei in Ihrem HomeOrdner speichern * Datei in Ihrem HomeOrdner speichern
Wenn die Berechtigungen korrekt gesetzt sind, können Sie in Bottles außerdem eine **DesktopVerknüpfung** oder einen **Menüeintrag** erstellen. Hierfür einfach auf ````...```` klicken und Wenn die Berechtigungen korrekt gesetzt sind, können Sie in Bottles außerdem eine **DesktopVerknüpfung** oder einen **Menüeintrag** erstellen. Hierfür einfach auf ````...```` klicken und
@@ -107,7 +107,7 @@ Wenn die Berechtigungen korrekt gesetzt sind, können Sie in Bottles außerdem e
1. Öffnen Sie den **Webbrowser**. 1. Öffnen Sie den **Webbrowser**.
2. Rufen Sie die offizielle 7ZipSeite auf: 2. Rufen Sie die offizielle 7ZipSeite auf:
- `https://www.7-zip.org` * `https://www.7-zip.org`
3. Laden Sie die **64BitVersion für Windows** herunter (Datei ähnlich `7zxx-x64.exe`). 3. Laden Sie die **64BitVersion für Windows** herunter (Datei ähnlich `7zxx-x64.exe`).
4. Speichern Sie die Datei im Ordner **Downloads**. 4. Speichern Sie die Datei im Ordner **Downloads**.
@@ -120,9 +120,9 @@ Wenn die Berechtigungen korrekt gesetzt sind, können Sie in Bottles außerdem e
3. Wählen Sie im Ordner **Downloads** die Datei `7zxx-x64.exe` aus. 3. Wählen Sie im Ordner **Downloads** die Datei `7zxx-x64.exe` aus.
4. Bestätigen Sie mit **Öffnen**. 4. Bestätigen Sie mit **Öffnen**.
5. Im Installationsfenster von 7Zip: 5. Im Installationsfenster von 7Zip:
- Installationspfad unverändert lassen (`C:\Program Files\7-Zip`) * Installationspfad unverändert lassen (`C:\Program Files\7-Zip`)
- Auf **Install** klicken * Auf **Install** klicken
- Nach Abschluss auf **Close** klicken * Nach Abschluss auf **Close** klicken
Auch hier kann Bottles mit den zuvor gesetzten Berechtigungen Verknüpfungen zu 7Zip anlegen. Auch hier kann Bottles mit den zuvor gesetzten Berechtigungen Verknüpfungen zu 7Zip anlegen.
@@ -139,14 +139,14 @@ Auch hier kann Bottles mit den zuvor gesetzten Berechtigungen Verknüpfungen zu
#### Dateien mit 7Zip komprimieren #### Dateien mit 7Zip komprimieren
1. Im 7ZipFenster wählen Sie oben ein Laufwerk aus, z.B. **„Z:“**. 1. Im 7ZipFenster wählen Sie oben ein Laufwerk aus, z.B. **„Z:“**.
- „Z:“ ist normalerweise mit Ihrem LinuxDateisystem verbunden. * „Z:“ ist normalerweise mit Ihrem LinuxDateisystem verbunden.
2. Navigieren Sie zu Ihrem **HomeOrdner** und zu einem Testordner (z.B. `Dokumente/Test`). 2. Navigieren Sie zu Ihrem **HomeOrdner** und zu einem Testordner (z.B. `Dokumente/Test`).
3. Markieren Sie einige Dateien, die Sie komprimieren möchten. 3. Markieren Sie einige Dateien, die Sie komprimieren möchten.
4. Klicken Sie oben auf **„Add“** (Hinzufügen). 4. Klicken Sie oben auf **„Add“** (Hinzufügen).
5. Im Dialog: 5. Im Dialog:
- Archivname eingeben, z.B. `testarchiv.7z` * Archivname eingeben, z.B. `testarchiv.7z`
- Format wählen (z.B. `7z` oder `zip`) * Format wählen (z.B. `7z` oder `zip`)
- Kompressionsstufe auswählen (z.B. „Normal“) * Kompressionsstufe auswählen (z.B. „Normal“)
6. Klicken Sie auf **OK**. 6. Klicken Sie auf **OK**.
7. Das neue Archiv erscheint im gleichen Ordner. 7. Das neue Archiv erscheint im gleichen Ordner.
@@ -167,24 +167,19 @@ Auch hier kann Bottles mit den zuvor gesetzten Berechtigungen Verknüpfungen zu
### Programm startet nicht ### Programm startet nicht
- Schließen Sie die Bottle und öffnen Sie sie erneut. * Schließen Sie die Bottle und öffnen Sie sie erneut.
- Starten Sie Bottles bei Bedarf vollständig neu und versuchen Sie es noch einmal. * Starten Sie Bottles bei Bedarf vollständig neu und versuchen Sie es noch einmal.
### DesktopVerknüpfung fehlt ### DesktopVerknüpfung fehlt
- Desktop-Verknüpfungen sind erst mal nur im Startmenü * Desktop-Verknüpfungen sind erst mal nur im Startmenü
- Prüfen Sie in **Flatseal**, ob Bottles Zugriff auf * Prüfen Sie in **Flatseal**, ob Bottles Zugriff auf
- `~/Desktop` * `~/Desktop`
- `~/.local/share/applications` * `~/.local/share/applications`
hat. hat.
- Falls Änderungen vorgenommen wurden, muss bottles neu gestartet werden. Idealerweise reboot. * Falls Änderungen vorgenommen wurden, muss bottles neu gestartet werden. Idealerweise reboot.
### Dateien im LinuxSystem nicht sichtbar ### Dateien im LinuxSystem nicht sichtbar
- Stellen Sie im 7ZipFenster sicher, dass Sie das Laufwerk **„Z:“** gewählt haben. * Stellen Sie im 7ZipFenster sicher, dass Sie das Laufwerk **„Z:“** gewählt haben.
- Navigieren Sie von dort in Ihr HomeVerzeichnis. * Navigieren Sie von dort in Ihr HomeVerzeichnis.
---
## Inhaltsverzeichnis
[TOC]

View File

@@ -101,7 +101,7 @@ ansible -m ping all
Erstellen Sie eine Datei namens 01-playbook-update_system.yml mit folgendem Inhalt: Erstellen Sie eine Datei namens 01-playbook-update_system.yml mit folgendem Inhalt:
````yaml ````yaml
--- ---
- name - name: Ubuntu Updates
hosts: ubuntu_servers # Zielgruppe: Alle Ubuntu-Server im Inventar hosts: ubuntu_servers # Zielgruppe: Alle Ubuntu-Server im Inventar
become: yes # Root-Rechte für Paketverwaltung become: yes # Root-Rechte für Paketverwaltung
tasks: tasks:
@@ -330,17 +330,3 @@ Was wurde erreicht?
* Automatisierte System-Updates und Programm-Installation. * Automatisierte System-Updates und Programm-Installation.
* Benutzer- und Gruppenverwaltung. * Benutzer- und Gruppenverwaltung.
* Automatische Sicherheitsupdates. * Automatische Sicherheitsupdates.
---
## Inhaltsverzeichnis
[TOC]

View File

@@ -243,10 +243,6 @@ docker image prune -a
# Alle nicht verwendeten Volumes entfernen # Alle nicht verwendeten Volumes entfernen
docker volume prune docker volume prune
```` ````
## Inhaltsverzeichnis
[TOC]

View File

@@ -104,8 +104,3 @@ Eintragen (Beispiel):
**Hinweis:**\ **Hinweis:**\
Bei Fehlern prüfen Sie die Logdateien (/var/log/sssd/, /var/log/auth.log, Bei Fehlern prüfen Sie die Logdateien (/var/log/sssd/, /var/log/auth.log,
/var/log/syslog) und die Netzwerkkonfiguration. /var/log/syslog) und die Netzwerkkonfiguration.
---
## Inhaltsverzeichnis
[TOC]

View File

@@ -503,8 +503,3 @@ nt acl support = yes
Jetzt kann die Freigabe vom Admin mit den Jeweiligen User-Gruppenrechten Jetzt kann die Freigabe vom Admin mit den Jeweiligen User-Gruppenrechten
gesetzt werden. Hierfür in einer Windows-Umgebung die Eigenschaften des Netzlaufwerkes anpassen. gesetzt werden. Hierfür in einer Windows-Umgebung die Eigenschaften des Netzlaufwerkes anpassen.
---
## Inhaltsverzeichnis
[TOC]

BIN
mkdocs/docs/image.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 KiB

2
mkdocs/docs/robots.txt Normal file
View File

@@ -0,0 +1,2 @@
User-agent: *
Disallow: /

View File

@@ -1,4 +1,6 @@
site_name: Linux Grundlagen MK-IT site_name: Linux Grundlagen Meisterkurs IT
site_author: Florian Hensel
nav: nav:
- Home: index.md - Home: index.md
- Grundlagen: - Grundlagen:
@@ -24,6 +26,8 @@ theme:
logo: assets/Logo.png logo: assets/Logo.png
name: material name: material
features: features:
- content.code.copy
- content.code.select
- navigation.sections - navigation.sections
palette: palette:
- media: "(prefers-color-scheme)" - media: "(prefers-color-scheme)"
@@ -48,8 +52,40 @@ theme:
# Markdown extensions # Markdown extensions
markdown_extensions: markdown_extensions:
- attr_list - attr_list
# - toc: - tables
# permalink: true - attr_list
- pymdownx.highlight - md_in_html
- pymdownx.blocks.caption
- toc:
permalink: true
- pymdownx.highlight:
anchor_linenums: true
line_spans: __span
pygments_lang_class: true
- pymdownx.inlinehilite
- pymdownx.snippets
- pymdownx.superfences - pymdownx.superfences
- admonition
- pymdownx.details
- pymdownx.superfences
- pymdownx.critic
- pymdownx.caret
- pymdownx.keys
- pymdownx.mark
- pymdownx.tilde
plugins:
- offline
- minify
- search:
- optimize:
concurrency: 2
- to-pdf:
enabled: true
output_path: pdf/linux-grundlagen-mk-it.pdf
author: "Florian Hensel"
toc_level: 2
toc_title: "Inhaltsverzeichnis"
ordered_chapter_level: 2
cover: true
cover_subtitle: "Umfangreiches Handbuch für Einsteiger und Fortgeschrittene"
download_link: header