From 03e3f86770f4466d77c8fdc7e406eb034cfbcb6b Mon Sep 17 00:00:00 2001 From: Torkalis Date: Sun, 7 Dec 2025 14:52:39 +0100 Subject: [PATCH] =?UTF-8?q?Windows-Freigabe=20=C3=9Cberarbeitet=20Projekt?= =?UTF-8?q?=20folgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Windows_Freigaben_fuer_Linux-Einsteiger.md | 360 ++++++------------ 1 file changed, 122 insertions(+), 238 deletions(-) diff --git a/mkdocs/docs/basics/Windows_Freigaben_fuer_Linux-Einsteiger.md b/mkdocs/docs/basics/Windows_Freigaben_fuer_Linux-Einsteiger.md index d113369..10a0de0 100644 --- a/mkdocs/docs/basics/Windows_Freigaben_fuer_Linux-Einsteiger.md +++ b/mkdocs/docs/basics/Windows_Freigaben_fuer_Linux-Einsteiger.md @@ -26,11 +26,18 @@ - [Oktal-Darstellung:](#oktal-darstellung) - [Beispiele:](#beispiele) - [Gruppenverwaltung](#gruppenverwaltung) - - [1. Gruppe erstellen:](#1-gruppe-erstellen) + - [1. Nutzer und Gruppe erstellen:](#1-nutzer-und-gruppe-erstellen) - [2. Nutzer einer Gruppe hinzufügen:](#2-nutzer-einer-gruppe-hinzufügen) - [3. Gruppe einer Datei/Ordner zuweisen:](#3-gruppe-einer-dateiordner-zuweisen) - [4. Gruppe in Samba nutzen:](#4-gruppe-in-samba-nutzen) - [Samba-Freigaben in der Praxis](#samba-freigaben-in-der-praxis) + - [Beispiel 1: Öffentliche Freigabe](#beispiel-1-öffentliche-freigabe) + - [Beispiel 2: Eingeschränkte Freigabe](#beispiel-2-eingeschränkte-freigabe) + - [Schritt-für-Schritt: Neue Freigabe erstellen](#schritt-für-schritt-neue-freigabe-erstellen) + - [Häufige Fehler und Lösungen](#häufige-fehler-und-lösungen) + - [Wichtige Befehle im Überblick](#wichtige-befehle-im-überblick) + - [Sicherheitshinweise](#sicherheitshinweise) + - [Anhang: Spezialrechte (Sticky Bit, SUID, SGID)](#anhang-spezialrechte-sticky-bit-suid-sgid) --- @@ -259,22 +266,22 @@ sudo chmod [OPTIONEN] [RECHTE] [DATEI/ORDNER] Samba-spezifische Empfehlungen: -Freigabe-Ordner: +**Freigabe-Ordner:** -775 (rwxrwxr-x): Besitzer und Gruppe haben Vollzugriff, Andere dürfen lesen und Ordner betreten. -770 (rwxrwx---): Nur Besitzer und Gruppe haben Zugriff (empfohlen für sensible Daten). +* ````775```` ````(rwxrwxr-x)````: Besitzer und Gruppe haben Vollzugriff, Andere dürfen lesen und Ordner betreten. +* ````770```` ````(rwxrwx---)````: Nur Besitzer und Gruppe haben Zugriff (empfohlen für sensible Daten). -Dateien in Freigaben: +**Dateien in Freigaben:** -664 (rw-rw-r--): Besitzer und Gruppe dürfen lesen/schreiben, Andere nur lesen. -660 (rw-rw----): Nur Besitzer und Gruppe dürfen lesen/schreiben. +* ````664```` ````(rw-rw-r--)````: Besitzer und Gruppe dürfen lesen/schreiben, Andere nur lesen. +* ````660```` ````(rw-rw----)````: Nur Besitzer und Gruppe dürfen lesen/schreiben. ### Gruppenverwaltung Gruppen ermöglichen die zentrale Steuerung von Zugriffsrechten für mehrere Nutzer. -#### 1. Gruppe erstellen: +#### 1. Nutzer und Gruppe erstellen: ````bash - +sudo adduser felix sudo addgroup mitarbeiter ```` #### 2. Nutzer einer Gruppe hinzufügen: @@ -301,54 +308,50 @@ sudo chmod 770 /srv/samba/dokumente # Gruppe erhält Vollzugriff. ```` ## Samba-Freigaben in der Praxis -Beispiel 1: Öffentliche Freigabe +### Beispiel 1: Öffentliche Freigabe Anwendungsfall: Medienfreigabe für alle Nutzer im Netzwerk (z. B. Musik, Filme). -Schritt 1: Ordner erstellen und Rechte setzen -bash - +**Schritt 1: Ordner erstellen und Rechte setzen** +````bash sudo mkdir -p /srv/samba/medien sudo chown nobody\:nogroup /srv/samba/medien # Besitzer: "nobody", Gruppe: "nogroup" sudo chmod 777 /srv/samba/medien # Temporär volle Rechte (für Test) - -Schritt 2: Freigabe in smb.conf definieren -ini - +```` +**Schritt 2: Freigabe in smb.conf definieren** +````ini [Medien] - comment = + comment = öffentliche Medienfreigabe path = /srv/samba/medien browseable = yes read only = no guest ok = yes - -Schritt 3: Samba neu starten -bash - +```` +**Schritt 3: Samba neu starten** +````bash sudo systemctl restart smbd +```` +**Schritt 4: Von Windows aus testen** +> Im Explorer: \\\Medien eingeben. -Schritt 4: Von Windows aus testen - -Im Explorer: \\\Medien eingeben. - -Beispiel 2: Eingeschränkte Freigabe +### Beispiel 2: Eingeschränkte Freigabe Anwendungsfall: Vertrauliche Dokumente für bestimmte Nutzer/Gruppen. -Schritt 1: Gruppe und Nutzer anlegen -bash - +**Schritt 1: Gruppe und Nutzer anlegen** +````bash +sudo adduser felix +sudo adduser hans sudo addgroup mitarbeiter sudo addgroup teamleitung sudo usermod -aG mitarbeiter felix +sudo usermod -aG mitarbeiter hans sudo usermod -aG teamleitung felix - -Schritt 2: Ordner erstellen und Rechte setzen -bash - +```` +**Schritt 2: Ordner erstellen und Rechte setzen** +````bash sudo mkdir -p /srv/samba/dokumente -sudo chown nobody\:mitarbeiter /srv/samba/dokumente +sudo chown nobody:mitarbeiter /srv/samba/dokumente sudo chmod 770 /srv/samba/dokumente - -Schritt 3: Freigabe in smb.conf definieren -ini - +```` +**Schritt 3: Freigabe in smb.conf definieren** +````ini [Dokumente] comment = Vertrauliche Dokumente path = /srv/samba/dokumente @@ -360,44 +363,39 @@ ini force group = mitarbeiter # Neue Dateien/Ordner gehören zur Gruppe "mitarbeiter" force create mode = 0660 # Neue Dateien: rw-rw---- force directory mode = 0770 # Neue Ordner: rwxrwx--- - -Schritt 4: Nutzer zu Samba hinzufügen -bash - +```` +**Schritt 4: Nutzer zu Samba hinzufügen** +````bash sudo smbpasswd -a felix - -Schritt 5: Samba neu starten -bash - +sudo smbpasswd -a hans +```` +**Schritt 5: Samba neu starten** +````bash sudo systemctl restart smbd +```` + +## Schritt-für-Schritt: Neue Freigabe erstellen -Schritt-für-Schritt: Neue Freigabe erstellen - - -Ordner anlegen: -bash - +**1. Ordner anlegen:** +````bash sudo mkdir -p /srv/samba/neue_freigabe +```` - -Besitzer und Gruppe setzen: -bash - +**2. Besitzer und Gruppe setzen:** +````bash sudo chown nobody\:mitarbeiter /srv/samba/neue_freigabe +```` - - -Rechte setzen: -bash +**3. Rechte setzen:** +````bash sudo chmod 770 /srv/samba/neue_freigabe +```` - - -Freigabe in smb.conf definieren: -ini +**4. Freigabe in /etc/samba/smb.conf definieren:** +````ini [NeueFreigabe] comment = Beschreibung der Freigabe @@ -407,206 +405,92 @@ ini guest ok = no valid users = @mitarbeiter write list = @teamleitung +```` +**5. Konfiguration testen:** +````bash +sudo samba-tool testparm +```` - -Konfiguration testen: -bash - -sudo testparm - - - -Samba neu starten: -bash +**6. Samba neu starten:** +````bash sudo systemctl restart smbd +```` + + +## Häufige Fehler und Lösungen +|Problem |Ursache |Lösung | +|------------------------------------|------------------------------------------------------|----------------------------------------------------------------------| +|Freigabe nicht sichtbar |browseable = no oder Firewall blockiert Samba. |browseable = yes setzen oder Firewall prüfen (sudo ufw allow samba). | +|Zugriff verweigert |Nutzer nicht in smbpasswd oder falsche Rechte. |sudo smbpasswd -a nutzername ausführen. Rechte mit chmod/chown prüfen.| +|Dateien können nicht gelöscht werden|Nutzer ist nicht Besitzer und hat keine Schreibrechte.|chmod g+w oder chown anpassen. | +|Gruppe wird nicht übernommen |force group fehlt in smb.conf. |force group = gruppenname ergänzen. | +|Neue Dateien haben falsche Rechte |force create mode/force directory mode fehlt. |force create mode = 0660 und force directory mode = 0770 setzen. | -Häufige Fehler und Lösungen +## Wichtige Befehle im Überblick +|Befehl |Beschreibung | +|---------------------------------------|-----------------------------------------------------| +|````sudo apt install samba```` |Samba installieren. | +|````sudo systemctl restart smbd```` |Samba-Dienst neu starten. | +|````sudo samba-tool testparm ```` |Konfiguration auf Fehler prüfen. | +|````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 adduser nutzername```` |Benutzer erstellen. | +|````sudo addgroup gruppenname```` |Gruppe erstellen. | +|````sudo usermod -aG gruppenname nutzername````|Nutzer einer Gruppe hinzufügen. | +|````smbclient -L //localhost -U %```` |Freigegebene Ordner/Drucker auflisten (lokal). | +## Sicherheitshinweise - - - Problem - Ursache - Lösung - - - - - Freigabe nicht sichtbar - browseable = no oder Firewall blockiert Samba. - browseable = yes setzen oder Firewall prüfen (sudo ufw allow samba). - - - Zugriff verweigert - Nutzer nicht in smbpasswd oder falsche Rechte. - sudo smbpasswd -a nutzername ausführen. Rechte mit chmod/chown prüfen. - - - Dateien können nicht gelöscht werden - Nutzer ist nicht Besitzer und hat keine Schreibrechte. - chmod g+w oder chown anpassen. - - - Gruppe wird nicht übernommen - force group fehlt in smb.conf. - force group = gruppenname ergänzen. - - - Neue Dateien haben falsche Rechte - force create mode/force directory mode fehlt. - force create mode = 0660 und force directory mode = 0770 setzen. - - +**Minimale Rechte vergeben:** +* Vermeiden Sie ````chmod 777````. Nutzen Sie stattdessen ````770```` oder ````750````. +**Keine Gastzugriffe für sensible Daten:** +* Setzen Sie ````guest ok = no```` für vertrauliche Freigaben. -Wichtige Befehle im Überblick +**Regelmäßige Backups:** +* Sichern Sie die ````smb.conf```` und wichtige Freigabe-Ordner. - - - Befehl - Beschreibung - - - - - sudo apt install samba - Samba installieren. - - - sudo systemctl restart smbd - Samba-Dienst neu starten. - - - sudo testparm - Konfiguration auf Fehler prüfen. - - - 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 addgroup gruppenname - Gruppe erstellen. - - - sudo usermod -aG gruppenname nutzername - Nutzer einer Gruppe hinzufügen. - - - smbclient -L //localhost -U % - Freigegebene Ordner/Drucker auflisten (lokal). - - - - - -Sicherheitshinweise - -Minimale Rechte vergeben: - -Vermeiden Sie chmod 777. Nutzen Sie stattdessen 770 oder 750. - -Keine Gastzugriffe für sensible Daten: - -Setzen Sie guest ok = no für vertrauliche Freigaben. - -Regelmäßige Backups: - -Sichern Sie die smb.conf und wichtige Freigabe-Ordner. - -Firewall konfigurieren: -bash +**Firewall konfigurieren:** +````bash sudo ufw allow samba # Erlaubt Samba-Ports (139, 445). - +```` Logs prüfen: Fehler finden Sie in /var/log/samba/log.%m. -Anhang: Spezialrechte (Sticky Bit, SUID, SGID) +## Anhang: Spezialrechte (Sticky Bit, SUID, SGID) Für fortgeschrittene Anwendungsfälle können Spezialrechte gesetzt werden: +|Recht |Oktal|Symbolisch|Wirkung | +|----------|-----|----------|--------------------------------------------------------------------------------------| +|Sticky Bit|1 |t |Nur der Besitzer darf Dateien in einem Ordner löschen (z. B. ````/tmp````). | +|SUID |4 |s |Führt eine Datei mit den Rechten des **Besitzers** aus (z. B. ````passwd````). | +|SGID |2 |s |Neue Dateien/Ordner erben die **Gruppe** des Elternordners (nützlich für Samba-Freigaben).| - - - Recht - Oktal - Symbolisch - Wirkung - - - - - Sticky Bit - 1 - t - Nur der Besitzer darf Dateien in einem Ordner löschen (z. B. /tmp). - - - SUID - 4 - s - Führt eine Datei mit den Rechten des Besitzers aus (z. B. passwd). - - - SGID - 2 - s - Neue Dateien/Ordner erben die Gruppe des Elternordners (nützlich für Samba-Freigaben). - - +**Beispiele:** + +|Befehl |Wirkung | +|---------------------------------|-------------------------------------------------------------------| +|````sudo chmod 1777 /tmp```` |Setzt das **Sticky Bit** (nur Besitzer darf Dateien löschen). | +|````sudo chmod 2775 /srv/samba```` |Setzt **SGID**: Neue Dateien/Ordner erben die Gruppe des Elternordners.| +|````sudo chmod 4755 /usr/bin/programm````|Setzt **SUID**: Programm läuft mit Rechten des Besitzers. | -Beispiele: - - - - - Befehl - Wirkung - - - - - sudo chmod 1777 /tmp - Setzt das Sticky Bit (nur Besitzer darf Dateien löschen). - - - sudo chmod 2775 /srv/samba - Setzt SGID: Neue Dateien/Ordner erben die Gruppe des Elternordners. - - - sudo chmod 4755 /usr/bin/programm - Setzt SUID: Programm läuft mit Rechten des Besitzers. - - - - -Samba-spezifische Nutzung: - -SGID ist nützlich, um sicherzustellen, dass neue Dateien/Ordner in einer Freigabe automatisch der richtigen Gruppe gehören: -bash +**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 - +````