🔹 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