🔹 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
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!
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!
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.
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!
Einfach, effektiv, sicher. Das ist genau, was man von so einem Generator erwartet. Die Beispielkonfiguration ist auch sehr hilfreich. Tolle Arbeit!