it-themen:allgemein:samba-mischfreigabe_linux_windows
Inhaltsverzeichnis
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 <<EOF >> /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/setupsambafreigabe.sh und ausführbar machen mit:
chmod +x /root/setup_samba_freigabe.sh
✅ Testen unter Windows
- Öffne den Explorer
- Eingabe in die Adresszeile:
\\<IP-des-Servers>\<Freigabename>
- 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
it-themen/allgemein/samba-mischfreigabe_linux_windows.txt · Zuletzt geändert: von lars
