Einfügen von Admonitions

This commit is contained in:
Florian Hensel
2025-12-14 15:05:31 +01:00
parent e86b0082c7
commit 60104ac84b
12 changed files with 273 additions and 160 deletions

View File

@@ -59,4 +59,7 @@ text
---
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,9 +1,6 @@
# 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)*
## Inhaltsverzeichnis
[TOC]
## 1. Zielbeschreibung
Dieses Projekt zeigt eine saubere, praxisnahe Einrichtung von
@@ -16,6 +13,8 @@ Dieses Projekt zeigt eine saubere, praxisnahe Einrichtung von
| Hans Wurst | X | | | X |
| Peter Lustig | | X | | X |
!!! Note ``Samba`` sollte bereits installiert sein
---
## 2. Benutzer und Gruppen anlegen
@@ -29,20 +28,20 @@ sudo adduser plustig # Peter Lustig (Verwaltung)
### 2.2 Gruppen für Rechteverwaltung erstellen
````bash
# Gruppen für Lese-/Schreibrechte
sudo addgroup angebote_l # Leserechte für Angebote
sudo addgroup angebote_ae # Schreibrechte für Angebote
sudo addgroup lieferscheine_l # Leserechte für Lieferscheine (hier nicht genutzt)
sudo addgroup lieferscheine_ae # Schreibrechte für Lieferscheine
sudo addgroup angebote_r # Leserechte für Angebote
sudo addgroup angebote_w # Schreibrechte für Angebote
sudo addgroup lieferscheine_r # Leserechte für Lieferscheine (hier nicht genutzt)
sudo addgroup lieferscheine_w # Schreibrechte für Lieferscheine
````
### 2.3 Benutzer den Gruppen zuweisen
````bash
# Hans Wurst: Darf Angebote lesen und Lieferscheine schreiben
sudo usermod -aG angebote_l hwurst
sudo usermod -aG lieferscheine_ae hwurst
sudo usermod -aG angebote_r hwurst
sudo usermod -aG lieferscheine_w hwurst
# Peter Lustig: Darf Angebote und Lieferscheine schreiben
sudo usermod -aG angebote_ae plustig
sudo usermod -aG lieferscheine_ae plustig
sudo usermod -aG angebote_w plustig
sudo usermod -aG lieferscheine_w plustig
````
### 2.4 Benutzer in Samba bekannt machen
@@ -60,11 +59,11 @@ sudo mkdir -p /srv/samba/{angebote,lieferscheine}
````
### 3.2 Besitzer und Gruppe setzen
````bash
# Angebote: Besitzer = nobody, Gruppe = angebote_ae (Schreibrechte)
sudo chown -R nobody:angebote_ae /srv/samba/angebote
# Angebote: Besitzer = nobody, Gruppe = angebote_w (Schreibrechte)
sudo chown -R nobody:angebote_w /srv/samba/angebote
# Lieferscheine: Besitzer = nobody, Gruppe = lieferscheine_ae (Schreibrechte)
sudo chown -R nobody:lieferscheine_ae /srv/samba/lieferscheine
# Lieferscheine: Besitzer = nobody, Gruppe = lieferscheine_w (Schreibrechte)
sudo chown -R nobody:lieferscheine_w /srv/samba/lieferscheine
````
### 3.3 Berechtigungen setzen
@@ -76,7 +75,7 @@ sudo chmod -R 0077 /srv/samba/lieferscheine
# - 7: Gruppe hat Vollzugriff (rwx)
# - 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
@@ -93,19 +92,19 @@ Fügen Sie folgende Abschnitte am Ende der Datei ein:
guest ok = no
browseable = yes
read only = yes # Standardmäßig schreibgeschützt
valid users = @angebote_l, @angebote_ae # Nur diese Gruppen dürfen zugreifen
write list = @angebote_ae # Nur diese Gruppe darf schreiben
valid users = @angebote_r, @angebote_w # Nur diese Gruppen dürfen zugreifen
write list = @angebote_w # Nur diese Gruppe darf schreiben
force create mode = 0775 # Neue Dateien: 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]
copy = Angebote # Überträgt alle Einstellungen von Angebote, die nicht nachfolgend angepasst werden:
comment = Lieferscheine von Lieferanten
path = /srv/samba/lieferscheine
valid users = @lieferscheine, @lieferscheine_ae # Nur diese Gruppe darf zugreifen
write list = @lieferscheine_ae # Nur diese Gruppe darf schreiben
force group = lieferscheine_ae
valid users = @lieferscheine, @lieferscheine_w # Nur diese Gruppe darf zugreifen
write list = @lieferscheine_w # Nur diese Gruppe darf schreiben
force group = lieferscheine_w
````
## 5. Userverzeichnisse (Home-Freigaben)
@@ -120,7 +119,7 @@ Aktivieren Sie die [homes]-Freigabe in ````/etc/samba/smb.conf```` (entkommentie
directory mask = 0700 # Neue Ordner: rwx------
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
Gelöschte Dateien auf Netzlaufwerken können mit dem **Samba Recycle Bin Modul** gesichert werden.
### 6.1 Konfiguration in ````smb.conf````
@@ -142,11 +141,11 @@ Fügen Sie folgende Zeile ein (löscht Dateien älter als 14 Tage):
````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
````
Erklärung:
* ````0 12 * * *````: Täglich um 12:00 Uhr.
* ````grep "path ="````: Sucht alle ````path````-Einträge in ````smb.conf````.
* ````find ... -mtime +14````: Löscht Dateien älter als 14 Tage im .recyclebin-Ordner.
!!! note Erklärung
* ````0 12 * * *````: Täglich um 12:00 Uhr.
* ````grep "path ="````: Sucht alle ````path````-Einträge in ````smb.conf````.
* ````find ... -mtime +14````: Löscht Dateien älter als 14 Tage im .recyclebin-Ordner.
## 7 Häufige Fehler und Lösungen
|Problem |Ursache |Lösung |

View File

@@ -17,9 +17,9 @@ Festplatte: 40 GB (dynamisch alloziert, VDI-Format).
Netzwerk:
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
@@ -162,15 +162,14 @@ Warten Sie auf den Abschluss und starten Sie die VM neu.
## Erste Schritte nach der Installation
Schritt 0: Sonderfall etz
> **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!**
!!! 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, um den Cache-Server des Kurses zu nutzen:
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
@@ -213,7 +212,7 @@ chmod 600 ~/.ssh/authorized_keys
* Klicken Sie auf "Open" und melden Sie sich an.
#### 4. Passwort-Login deaktivieren
> erst nach erfolgreicher Key-Anmeldung!
!!! warning erst nach erfolgreicher Key-Anmeldung!
Bearbeiten Sie die SSH-Konfiguration:
````bash
@@ -233,6 +232,7 @@ Speichern Sie und starten Sie SSH neu:
````bash
sudo systemctl restart ssh
````
!!! tip Versuchen Sie sich erneut mit einem Passwort einzuloggen, wenn es nicht geht, ist alles in Ordnung!
### Automatische Updates einrichten
````bash
sudo apt install unattended-upgrades -y
@@ -248,5 +248,4 @@ Manuelles Backup mit rsync:
sudo apt install rsync -y
rsync -av /home/meisterkurs/ /backup/meisterkurs/
````
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](../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.

View File

@@ -16,12 +16,10 @@ Open-Source mySQL Ableger MariaDB empfohlen.
```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
```
!!! 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
Konfiguriere phpmyadmin: Ja Datenbank Konfigurieren
Passwort setzen
!!! info Konfiguriere phpmyadmin: Ja Datenbank Konfigurieren und Passwort setzen
Im Anschluss muss die Datenbank noch gesichert werden um etwaigen
Missbrauch zu unterbinden und auch das Root-Passwort wird hier gesetzt
@@ -50,9 +48,7 @@ Zugriff auf ihre Datebank per Webinterface:
http://IP/phpmyadmin
> Legen Sie einen neuen Nutzer für NextCloud an und gewähren Sie dem Nutzer alle Rechte an seiner Datenbank „Nextcloud".
/newpage
!!! attention Legen Sie einen neuen Nutzer für NextCloud an und gewähren Sie dem Nutzer alle Rechte an seiner Datenbank „NextCloud".
## NextCloud installieren
@@ -113,12 +109,11 @@ sudo a2enmod ssl
sudo systemctl restart apache2
```
Nun können Sie per http auf den Webserver zugreifen
http://nextcloud.tnxx.ito oder http://IP
Nun können Sie per http auf den Webserver zugreifen http://IP oder http://nextcloud.tnxx.ito
![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.
@@ -138,17 +133,11 @@ sudo nano /var/www/nextcloud/config/config.php
Fügen Sie eine weitere Zeile vor der schließenden Klammer ein:
````php
'dbtype' => 'mysql',
'version' => '12.0.0.29',
'dbname' => 'NextCloud',
'dbhost' => 'localhost',
'dbport' => '',
'dbtableprefix' => 'oc_',
'dbuser' => 'NextCloud',
'dbpassword' => 'passw0rd#',
'logtimezone' => 'UTC',
...
'installed' => true,
````
neu:
````php
'memcache.distributed' => '\OC\Memcache\Redis',
@@ -160,6 +149,7 @@ Fügen Sie eine weitere Zeile vor der schließenden Klammer ein:
),
````
zwingend vor:
````php
);
````
@@ -182,7 +172,7 @@ Bearbeiten der Datei ````/etc/apache2/sites-available/nextcloud.conf````
````apacheconf
<VirtualHost *:80>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTPS} Off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
@@ -263,8 +253,7 @@ Nextcloud ermöglicht eine einfache Anpassung des Designs an Ihr Firmenlayout di
* Favicon: [Favicon](./Nextcloud_Design/favicon.ico)
## LDAP
Konfiguration smb.conf bei einem Samba AD-DC
!!! note Konfiguration ``smb.conf`` bei einem [Samba AD-DC](../bonus/linux-als-ad-server.md)
````ini
[global]
ldap server require strong auth = no

View File

@@ -39,7 +39,7 @@ ls -lah /tmp/heartbeat.txt
### 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 |

View File

@@ -2,11 +2,11 @@
## 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).
* **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.
@@ -40,10 +40,9 @@ Sie richten einen **Ubuntu-Desktop in VirtualBox** ein, lernen die Oberfläche k
## Sonderfall etz
> **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!**
!!! 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:

View File

@@ -23,6 +23,11 @@ Lassen Sie sich das aktuelle Verzeichnis anzeigen.
pwd
```
Kurzbeispielausgabe:
```bash
/home/benutzer
```
## Wechseln Sie in Ihr Home-Verzeichnis.
Tipp: Das Home-Verzeichnis erreichen Sie mit:
@@ -31,16 +36,36 @@ Tipp: Das Home-Verzeichnis erreichen Sie mit:
cd ~
```
Kurzbeispielausgabe nach cd:
```bash
pwd
/home/benutzer
```
## Erstellen Sie im Home-Verzeichnis einen Ordner „projekt".
```bash
mkdir projekt
mkdir -p projekt
```
Prüfung:
```bash
ls
projekt
```
## Erstellen Sie darin zwei Unterordner „dokumente" und „bilder".
```bash
mkdir projekt/dokumente projekt/bilder
mkdir -p projekt/dokumente projekt/bilder
```
Prüfung:
```bash
ls -lah projekt
```
## Wechseln Sie in den Ordner „projekt".
@@ -49,49 +74,95 @@ mkdir projekt/dokumente projekt/bilder
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
```
> 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.
@@ -99,30 +170,67 @@ nano dokumente/notizen.txt
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
hostname -I
```
Beispielausgabe:
```bash
192.168.1.10
```
## Überwachen Sie Ihr System mit „htop".
```bash
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.
```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
@@ -134,8 +242,18 @@ Beispiel:
```bash
man ls
```
!!! attention Zum verlassen <kbd>q</kbd> oder <kbd>strg</kbd>+<kbd>c</kbd>
## 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.
> 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
```
!!! success Viel Erfolg beim Erkunden der Linux-Befehle und beim Organisieren Ihrer Dateien!

View File

@@ -1,6 +1,7 @@
# 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).
@@ -8,6 +9,7 @@
## 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).

View File

@@ -3,19 +3,18 @@
## 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.
Der ursprüngliche USB-Stick entfällt alle Medien kommen direkt aus dem Netzwerk (z.B. vom Windows-PC).
## 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
* 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
@@ -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 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
* `nobody:nogroup`: typischer Besitzer für anonyme Zugriffe
* `775`: Besitzer/Gruppe Vollzugriff, andere lesen + ausführen
## 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.
### 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`
* 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
@@ -171,16 +170,16 @@ In Kodi:
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`
* `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`
* Benutzername: Samba-Benutzer (z.B. `medienuser`)
* Passwort: entsprechend `smbpasswd`
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
3. Installieren
4. In den Add-on-Einstellungen:
- API-Schlüssel eintragen (bei Bedarf vorher erstellen)
- Standort konfigurieren (z.B. „Berlin, DE“)
* 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`
* 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

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.
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
@@ -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.
6. Klicken Sie auf **„Verbinden“**.
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**:
- Sitzungsart: **„Xorg“** belassen (Standard)
- **Benutzername**: z.B. `meister`
- **Passwort**: Passwort des Linux-Kontos
* 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 LinuxMintDesktop 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
@@ -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.
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ü.
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:
- **Port**: `22`
- **Connection type**: `SSH`
* **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.
* 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“**.
* 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.
@@ -106,10 +106,10 @@ Sie sind nun per SSH mit Linux Mint verbunden und können textbasierte Befehle a
## 3. Kurzer Überblick: Was wurde erreicht?
- **xrdp + Remotedesktop**:
- Grafischer Zugriff auf den LinuxMintDesktop von Windows aus
- Benutzersteuerung über die bestehende Gruppe **„xrdp“**
* **xrdp + Remotede sktop**:
* Grafischer Zugriff auf den LinuxMintDesktop 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
* **OpenSSH-Server + PuTTY**:
* Textbasierter Zugriff (Shell) auf Linux Mint
* Ideal für Administration, Skripte und Log-Analyse

View File

@@ -1,17 +1,17 @@
# Samba-Konfiguration für Linux-Einsteiger
## 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:
- **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).
* **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**.
* Ein **Linux-Server** (z. B. Ubuntu, Debian, Raspberry Pi OS).
* **Root-Zugriff** oder ````sudo````-Berechtigungen.
* Grundkenntnisse in der **Linux-Kommandozeile**.
---
@@ -92,6 +92,7 @@ Fügen sie unterhalb dieser Einstellungen im noch im Bereich [Global] :
### 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 |
@@ -140,7 +141,7 @@ Samba kann Drucker für Windows-Clients freigeben:
## 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
Jede Datei/Ordner gehört einem **Besitzer (User)** und einer **Gruppe (Group)**.
Syntax:
@@ -148,6 +149,7 @@ Syntax:
sudo chown [BESITZER]:[GRUPPE] [DATEI/ORDNER]
````
Beispiele:
|Befehl| Wirkung|
|-|-|
|sudo chown felix:mitarbeiter /srv/samba|Besitzer: felix, Gruppe: mitarbeiter. |
@@ -219,6 +221,7 @@ sudo chmod [OPTIONEN] [RECHTE] [DATEI/ORDNER]
* ````-R````: Rekursiv (für alle Unterordner/Dateien).
#### Beispiele:
|Befehl |Wirkung |
|----------------------------|---------------------------------------------|
|sudo chmod 755 /srv/samba |Besitzer: rwx, Gruppe/Andere: r-x. |
@@ -383,7 +386,8 @@ sudo systemctl restart smbd
````
## Häufige Fehler und Lösungen
## 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). |
@@ -403,7 +407,7 @@ sudo systemctl restart smbd
|````sudo smbpasswd -a nutzername```` |Nutzer zu Samba hinzufügen. |
|````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 -R 770 pfad```` |Rechte rekursiv auf rwxrwx--- setzen. |
|````sudo chmod -R 770 pfad```` |Rechte rekursiv auf rwxrwx--* setzen. |
|````sudo adduser nutzername```` |Benutzer erstellen. |
|````sudo addgroup gruppenname```` |Gruppe erstellen. |
|````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:
Fehler finden Sie in /var/log/samba/log.%m.
Fehler finden Sie in ````/var/log/samba/log.%m````.
## Anhang: Spezialrechte (Sticky Bit, SUID, SGID)
@@ -452,6 +456,7 @@ Für fortgeschrittene Anwendungsfälle können Spezialrechte gesetzt werden:
**Samba-spezifische Nutzung:**
* **SGID** ist nützlich, um sicherzustellen, dass neue Dateien/Ordner in einer Freigabe automatisch der richtigen Gruppe gehören:
````bash
sudo chmod 2770 /srv/samba/dokumente # SGID + Besitzer/Gruppe: rwx

View File

@@ -4,9 +4,9 @@ Diese Anleitung zeigt Schritt für Schritt, wie Sie unter Linux Mint zuerst Note
## Voraussetzungen
- Installiertes Linux Mint
- Internetzugang
- Ein normales Benutzerkonto
* Installiertes Linux Mint
* Internetzugang
* Ein normales Benutzerkonto
## 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.
3. Gehen Sie zum Bereich **„Filesystem“** (oder „Dateisystem“).
4. Aktivieren bzw. fügen Sie folgende Pfade hinzu:
- ```xdg-data/applications```
- ```~/.local/share/applications```
* ```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.
@@ -56,7 +56,7 @@ Damit kann Bottles jetzt DesktopVerknüpfungen und Menüeinträge korrekt anl
1. Öffnen Sie Ihren **Webbrowser** (z.B. Firefox).
2. Rufen Sie die Seite auf:
- `https://notepad-plus-plus.org`
* `https://notepad-plus-plus.org`
3. Klicken Sie auf **Download**.
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**.
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
* 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.
@@ -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++“**.
3. Klicken Sie auf **Notepad++**, um das Programm zu starten.
4. Testen Sie die Funktion:
- Neue Datei anlegen
- Text schreiben
- Datei in Ihrem HomeOrdner speichern
* Neue Datei anlegen
* Text schreiben
* 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
@@ -107,7 +107,7 @@ Wenn die Berechtigungen korrekt gesetzt sind, können Sie in Bottles außerdem e
1. Öffnen Sie den **Webbrowser**.
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`).
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.
4. Bestätigen Sie mit **Öffnen**.
5. Im Installationsfenster von 7Zip:
- Installationspfad unverändert lassen (`C:\Program Files\7-Zip`)
- Auf **Install** klicken
- Nach Abschluss auf **Close** klicken
* Installationspfad unverändert lassen (`C:\Program Files\7-Zip`)
* Auf **Install** klicken
* Nach Abschluss auf **Close** klicken
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
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`).
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“)
* 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.
@@ -167,19 +167,19 @@ Auch hier kann Bottles mit den zuvor gesetzten Berechtigungen Verknüpfungen zu
### 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.
* Schließen Sie die Bottle und öffnen Sie sie erneut.
* Starten Sie Bottles bei Bedarf vollständig neu und versuchen Sie es noch einmal.
### DesktopVerknüpfung fehlt
- Desktop-Verknüpfungen sind erst mal nur im Startmenü
- Prüfen Sie in **Flatseal**, ob Bottles Zugriff auf
- `~/Desktop`
- `~/.local/share/applications`
* 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.
* Falls Änderungen vorgenommen wurden, muss bottles neu gestartet werden. Idealerweise reboot.
### Dateien im LinuxSystem nicht sichtbar
- Stellen Sie im 7ZipFenster sicher, dass Sie das Laufwerk **„Z:“** gewählt haben.
- Navigieren Sie von dort in Ihr HomeVerzeichnis.
* Stellen Sie im 7ZipFenster sicher, dass Sie das Laufwerk **„Z:“** gewählt haben.
* Navigieren Sie von dort in Ihr HomeVerzeichnis.