🔹 Warum dieses Skript?

Das Einrichten von Samba-Freigaben kann mühsam sein, besonders wenn man sich nicht ständig mit Konfigurationsdateien beschäftigt. Dieses PHP-Tool erstellt automatisch eine fertige smb.conf-Datei, die du direkt auf deinem Server nutzen kannst.

Ob öffentliche Freigaben, passwortgeschützte Nutzerordner oder IP-beschränkter Zugriff – alles lässt sich bequem über eine Web-Oberfläche einstellen.

🛠️ Features des Samba-Generators

  • Benutzerfreundliche Web-Oberfläche für die Freigaben-Konfiguration
  • Unterstützt anonyme & passwortgeschützte Freigaben
  • Automatische Erstellung einer smb.conf-Datei
  • Optionale IP-Beschränkung – Zugriff nur für bestimmte Netzwerke
  • Backup-Option – Automatische Datensicherung bei Freigaben

📌 Beispiel: Generierte Samba-Konfiguration

Angenommen, du möchtest eine Freigabe mit folgenden Werten erstellen:

  • Name: shared
  • Pfad: /srv/samba/shared
  • Gastzugriff: Nein
  • Benutzer: admin, user1
  • Zugriffsrechte: admin = schreiben, user1 = lesen
  • Zugriff nur für bestimmte IPs: 192.168.1.10, 192.168.1.20

Das Skript generiert automatisch folgende smb.conf:

[shared]
path = /srv/samba/shared
guest ok = no
valid users = admin user1
read list = user1
write list = admin
hosts allow = 192.168.1.10 192.168.1.20

💡 Diese Datei kann direkt auf deinem Samba-Server verwendet werden!

🔎 Code-Analyse – Wichtige Abschnitte erklärt

1️⃣ Formulareingaben verarbeiten

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $shareName = $_POST['share_name'];
    $path = $_POST['path'];
    $users = $_POST['users'];

👉 Hier liest das Skript die Werte aus dem Formular aus, die der Nutzer eingegeben hat.

2️⃣ Erstellung des Samba-Blocks

$generatedSambaConfig .= "[{$shareName}]\n";
$generatedSambaConfig .= "path = {$path}\n";

👉 Hier wird der Grundblock für die Freigabe erstellt – mit Name und Pfad.

3️⃣ Unterstützung für Gastzugriff

if ($guestAccess === 'yes') {
    $generatedSambaConfig .= "guest ok = yes\n";
    $generatedSambaConfig .= "read only = no\n"; 
} else {
    $generatedSambaConfig .= "guest ok = no\n";
}

👉 Falls der Nutzer anonymen Zugriff erlaubt, wird die Einstellung entsprechend gesetzt.

4️⃣ Benutzerzugriff & Berechtigungen setzen

$validUsers = implode(' ', $users);
$generatedSambaConfig .= "valid users = {$validUsers}\n";

👉 Hier wird festgelegt, welche Benutzer Zugriff auf die Freigabe haben.

5️⃣ IP-Beschränkung einbauen (optional)

if (!empty($allowedIps)) {
    $generatedSambaConfig .= "hosts allow = " . implode(' ', $allowedIps) . "\n";
}

👉 Falls der Zugriff nur für bestimmte IPs erlaubt ist, wird diese Regel gesetzt.

📥 Download & Nutzung

💾 Download: samba_generator.php

📌 Lizenz: Open-Source – Feel free to use & modify!

📢 Hast du Fragen oder Verbesserungsvorschläge? Schreib mir! 🚀

💡 Fazit – Warum ist das Skript nützlich?

  • Zeitsparend – Ersetzt das manuelle Schreiben von smb.conf-Dateien
  • Fehlersicher – Keine falschen oder vergessenen Parameter
  • Flexibel – Unterstützt Gastzugriff, Benutzer & IP-Beschränkungen
  • Einsteigerfreundlich – Keine Linux-Kommandozeile nötig

Von Daniel Mattick

Ich bin Daniel, Technik-Enthusiast mit einer Vorliebe für Automatisierung, Skripting und alles, was IT-Prozesse einfacher macht. Ich bastle gerne an Lösungen, die den Alltag in der IT erleichtern – egal ob für Profis oder Neugierige, die sich in die Materie einarbeiten wollen. Dabei teile ich mein Wissen und meine Skripte in der IT Toolbox, weil ich finde: Gute Lösungen sollte man nicht für sich behalten!

5 Gedanken zu „Samba Freigaben leicht gemacht – Mit dem Samba-Generator“
  1. Ein Samba-Generator! Ich habe mich immer davor gescheut, Samba-Freigaben zu konfigurieren, weil es so kompliziert ist. Das hier ist die perfekte Lösung für mein Heimnetzwerk. Danke, Daniel!

  2. Sehr nützliches Tool, besonders für Leute, die nicht täglich mit Linux-Servern arbeiten. Die Option zur IP-Beschränkung ist ein wichtiges Sicherheitsfeature, das oft vergessen wird. Top!

  3. Das macht die Sache mit den Samba-Freigaben wirklich leicht. Kein Rätselraten mehr bei der smb.conf. Kann ich nur empfehlen, wenn man schnell eine Freigabe braucht.

  4. Als IT-Supporter weiß ich, wie zeitraubend manuelle Konfigurationen sein können. Dieses Tool wird vielen Einsteigern und auch Profis viel Zeit ersparen. Super Idee und Umsetzung!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert