Files
mkdocs-etz/mkdocs/docs/Linux_Unternehmen/Praxisprojekt_Freigaben_im_Unternehmen.md
Florian Hensel f9473a3578 Anpassung aller Samba-Dokumente als Projekt
ADDC als Bonus
2025-12-10 12:41:50 +01:00

6.7 KiB
Raw Blame History

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

  • eingeschränkten Freigaben mit Gruppenrechten,
  • Homeverzeichnissen,
  • einem Netzwerkpapierkorb.
Lesen Angebote Schreiben Angebote Lesen Lieferscheine Schreiben Lieferscheine
Hans Wurst X X
Peter Lustig X X

2. Benutzer und Gruppen anlegen

2.1 Benutzer erstellen

# Benutzer für Produktion und Verwaltung anlegen
sudo adduser hwurst   # Hans Wurst (Produktion)
sudo adduser plustig  # Peter Lustig (Verwaltung)

2.2 Gruppen für Rechteverwaltung erstellen

# 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

2.3 Benutzer den Gruppen zuweisen

# Hans Wurst: Darf Angebote lesen und Lieferscheine schreiben
sudo usermod -aG angebote_l hwurst
sudo usermod -aG lieferscheine_ae hwurst

# Peter Lustig: Darf Angebote und Lieferscheine schreiben
sudo usermod -aG angebote_ae plustig
sudo usermod -aG lieferscheine_ae plustig

2.4 Benutzer in Samba bekannt machen

# Samba-Passwörter für beide Benutzer setzen
sudo smbpasswd -a hwurst
sudo smbpasswd -a plustig

Passwort im Kurs: "passw0rd#"

3. Verzeichnisse erstellen und Rechte setzen

3.1 Ordner für Angebote und Lieferscheine anlegen

sudo mkdir -p /srv/samba/{angebote,lieferscheine}

3.2 Besitzer und Gruppe setzen

# Angebote: Besitzer = nobody, Gruppe = angebote_ae (Schreibrechte)
sudo chown -R nobody\:angebote_ae /srv/samba/angebote

# Lieferscheine: Besitzer = nobody, Gruppe = lieferscheine_ae (Schreibrechte)
sudo chown -R nobody\:lieferscheine_ae /srv/samba/lieferscheine

3.3 Berechtigungen setzen

sudo chmod -R 0077 /srv/samba/angebote
sudo chmod -R 0077 /srv/samba/lieferscheine
# - 0: Keine Spezialrechte (Sticky Bit/SUID/SGID)
# - 0: Besitzer (nobody) hat keine Rechte (wird durch Samba überschrieben)
# - 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.

4. Samba-Freigaben konfigurieren

4.1 smb.conf bearbeiten

sudo nano /etc/samba/smb.conf

4.2 Freigaben für Angebote und Lieferscheine

Fügen Sie folgende Abschnitte am Ende der Datei ein:

[Angebote]
   comment = Angebote an Kunden
   path = /srv/samba/angebote
   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
   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

[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

5. Userverzeichnisse (Home-Freigaben)

Jeder Benutzer kann auf sein eigenes Home-Verzeichnis zugreifen. Aktivieren Sie die [homes]-Freigabe in /etc/samba/smb.conf (entkommentieren):

[homes]
   comment = Privates Verzeichnis
   browseable = no  # Nur für den Benutzer selbst sichtbar
   read only = no    # Benutzer darf schreiben
   create mask = 0700 # Neue Dateien: rwx------
   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).

6. Netzwerkpapierkorb

Gelöschte Dateien auf Netzlaufwerken können mit dem Samba Recycle Bin Modul gesichert werden.

6.1 Konfiguration in smb.conf

Fügen Sie folgende Optionen global (unter [global]) oder pro Freigabe ein:

    vfs objects = recycle  # Virtuelles Dateisystem für Papierkorb
    recycle\:repository = .recyclebin  # Ordner für gelöschte Dateien
    recycle\:keeptree = yes   # Pfadstruktur im Papierkorb erhalten
    recycle\:versions = yes   # Gleichnamige Dateien nicht überschreiben
    recycle\:maxsize = 0      # Keine Größenbegrenzung pro Datei
    recycle\:touch = yes      # Zeitstempel anpassen

6.2 Automatische Bereinigung mit Cron

Fügen Sie einen Cron-Job hinzu, um alte Dateien im Papierkorb zu löschen:

sudo crontab -e

Fügen Sie folgende Zeile ein (löscht Dateien älter als 14 Tage):

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.

7 Häufige Fehler und Lösungen

Problem Ursache Lösung
Benutzer kann nicht zugreifen Falsche Gruppe oder Passwort. groups [benutzer] prüfen, smbpasswd -a [benutzer] neu setzen.
Schreibrechte fehlgeschlagen Benutzer nicht in write list. valid users und write list in smb.conf prüfen.
Papierkorb funktioniert nicht vfs objects = recycle fehlt. In smb.conf für die Freigabe oder global ergänzen.
Rechte werden nicht übernommen force group oder create mask fehlt. In smb.conf ergänzen und Samba neu starten.