Windows-Freigabe Überarbeitet Projekt folgt
This commit is contained in:
@@ -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 = <followup encodedFollowup="%7B%22id%22%3A%22785f61b2-bd51-4deb-b605-8d0320cd2644%22%2C%22snippet%22%3A%22%C3%96ffentliche%20Medienfreigabe%22%2C%22question%22%3A%22Welche%20Sicherheitsrisiken%20sind%20mit%20einer%20%C3%B6ffentlichen%20Freigabe%20verbunden%2C%20und%20wie%20kann%20man%20diese%20minimieren%3F%22%7D" />
|
||||
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: \\<IP-des-Servers>\Medien eingeben.
|
||||
|
||||
Schritt 4: Von Windows aus testen
|
||||
|
||||
Im Explorer: \\<IP-des-Servers>\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
|
||||
|
||||
````
|
||||
|
||||
|
||||
Reference in New Issue
Block a user