[[..:start|zurück]]
====== Samba-Mischfreigabe (Linux ↔ Windows) ======
Dieser Artikel beschreibt die vollständige Einrichtung einer Netzwerkfreigabe auf einem Linux-Server mittels **Samba**, die von **Windows-Clients** genutzt werden kann.
Ziel ist eine **private, authentifizierte Freigabe**, bei der:
* ein dedizierter Benutzer Zugriff erhält
* andere Benutzer keinen Zugriff haben
* alle drei Ebenen korrekt greifen: Freigabe, Dateiberechtigung, Authentifizierung
===== 🔧 Voraussetzungen =====
* Linux-Server mit root-Zugriff (Debian/Ubuntu empfohlen)
* installierte Pakete: `samba`, `samba-common`, `smbclient`
* Windows-Client im selben Netzwerk
===== 🧱 Strukturübersicht =====
^ Komponente ^ Aufgabe ^
| Samba-Freigabe (`smb.conf`) | macht Ordner im Netzwerk sichtbar |
| Dateirechte (`chmod`, `chown`) | erlaubt Zugriff auf dem Dateisystem |
| Benutzer (`smbpasswd`) | erlaubt Anmeldung am Samba-Dienst |
===== 🛠 Setup-Skript (Root nötig) =====
###code Bash-Skript zur automatisierten Einrichtung einer privaten Freigabe
#!/bin/bash
# === Konfiguration ===
SMB_USER="testuser"
SHARE_NAME="private"
SHARE_PATH="/srv/samba/$SHARE_NAME"
SMB_COMMENT="Private Freigabe für $SMB_USER"
PASSWORD="changeme123"
# === Benutzer anlegen ===
useradd -m -s /bin/bash "$SMB_USER"
echo "$SMB_USER:$PASSWORD" | chpasswd
(echo "$PASSWORD"; echo "$PASSWORD") | smbpasswd -a "$SMB_USER"
# === Verzeichnis anlegen ===
mkdir -p "$SHARE_PATH"
chown "$SMB_USER":"$SMB_USER" "$SHARE_PATH"
chmod 700 "$SHARE_PATH"
# === Samba-Konfiguration anhängen ===
cat <> /etc/samba/smb.conf
[$SHARE_NAME]
comment = $SMB_COMMENT
path = $SHARE_PATH
browseable = yes
writable = yes
valid users = $SMB_USER
force user = $SMB_USER
create mask = 0700
directory mask = 0700
EOF
# === Samba neustarten ===
systemctl restart smbd nmbd
# === Ausgabe ===
echo "Freigabe [$SHARE_NAME] erfolgreich eingerichtet!"
echo "Zugriff über: \\$(hostname -I | awk '{print $1}')\\$SHARE_NAME"
Speichern unter z. B. /root/setup_samba_freigabe.sh und ausführbar machen mit:
chmod +x /root/setup_samba_freigabe.sh
===== ✅ Testen unter Windows =====
* Öffne den Explorer
* Eingabe in die Adresszeile:
\\\
* Mit Benutzername und Passwort anmelden (testuser / changeme123)
* Zugriff auf Ordner testen (lesen/schreiben)
===== 🧠 Hinweise =====
* Das Passwort kann danach sicher geändert werden: smbpasswd testuser
* Für produktive Systeme solltest du auf setfacl oder AD/LDAP setzen
* Firewall prüfen: Port 445 und 139 müssen offen sein
* Teste mit: smbclient -L localhost -U testuser
===== 🔐 Sicherheitstipps =====
* Immer mit dedizierten Benutzern arbeiten
* Rechte nie global mit 777 setzen!
* Wenn mehrere Benutzer Zugriff brauchen: force group + ACL nutzen
===== 🧬 Weiterführend =====
* [[linux:samba_acl|Samba ACLs (Zugriff auf Gruppenebene)]]
* [[linux:samba_active_directory|Samba mit Active Directory]]
* [[netzwerk:freigaben_vs_rechte|Freigabe vs. Rechte erklärt]]
---
{{avatar>lars|Lars.Weiss@gmail.com?l|Lars Weiß}} //[[Lars.Weiss@gmail.com|Lars Weiß]] 10.07.2025 12:11//