it-themen:allgemein:debian_docker-server_einrichtung_teil_3_korrekt
**Dies ist eine alte Version des Dokuments!**
Debian Docker-Server Einrichtung – Teil 3 (korrekt): Samba mit echter LDAP-Anbindung
🧱 Ziel
Ein Samba-Dateiserver in einem Docker-Container, der Benutzer und Gruppen aus dem vorhandenen OpenLDAP-Server nutzt.
♻️ Aufräumen vorheriger Versuche
# Alten einfachen Samba-Container stoppen und entfernen cd ~/docker-server/samba docker compose down rm -r ~/docker-server/samba # Vorhandene samba-ldap-Reste aufräumen cd ~/docker-server/samba-ldap docker compose down cd ~/docker-server rm -rf samba-ldap
📁 Neues Verzeichnis anlegen
mkdir -p ~/docker-server/samba-ldap cd ~/docker-server/samba-ldap
🛠️ Dockerfile erstellen
Datei:
Dockerfile
FROM debian:bookworm
ENV DEBIAN_FRONTEND=noninteractive
RUN apt update && apt install -y \
samba winbind libnss-ldap libpam-ldap nscd smbclient ldap-utils vim \
&& rm -rf /var/lib/apt/lists/*
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
🔧 Einstiegsskript erstellen
Datei:
entrypoint.sh
#!/bin/bash echo 'hosts: files ldap dns' > /etc/nsswitch.conf echo 'passwd: files ldap' >> /etc/nsswitch.conf echo 'group: files ldap' >> /etc/nsswitch.conf echo 'shadow: files ldap' >> /etc/nsswitch.conf cat <<EOF > /etc/samba/smb.conf [global] workgroup = WORKGROUP security = user passdb backend = ldapsam:ldap://ldap-server ldap admin dn = cn=admin,dc=netz,dc=local ldap suffix = dc=netz,dc=local ldap user suffix = ou=people ldap group suffix = ou=groups ldap machine suffix = ou=machines ldap ssl = no log file = /var/log/samba/log.%m max log size = 1000 load printers = no dns proxy = no [Daten] path = /srv/share browsable = yes writable = yes guest ok = no EOF /etc/init.d/nscd start /etc/init.d/smbd start /etc/init.d/nmbd start tail -f /dev/null
chmod +x entrypoint.sh
🧾 docker-compose.yml erstellen
Datei:
docker-compose.yml
version: '3.8'
services:
samba-ldap:
build: .
container_name: samba-ldap
networks:
- ldap-net
volumes:
- ./data:/srv/share
ports:
- "139:139"
- "445:445"
networks:
ldap-net:
external: true
📁 Freigabe-Ordner anlegen
mkdir data echo "Testfreigabe über Samba+LDAP" > data/info.txt
🚀 Container bauen und starten
docker compose build docker compose up -d docker logs samba-ldap
🧪 Test im Container
docker exec -it samba-ldap bash getent passwd getent group smbclient //localhost/Daten -U admin
✅ Ergebnis
Samba nutzt OpenLDAP als Authentifizierungsquelle. Benutzer und Gruppen werden über LAM verwaltet. Die Freigabe „Daten“ ist aktiv und prüft Benutzer gegen LDAP.
▶️ Nächste Schritte
* LAM für Samba-Benutzer vorbereiten * Samba-Schema importieren (falls noch nicht im LDAP)
it-themen/allgemein/debian_docker-server_einrichtung_teil_3_korrekt.1747652156.txt.gz · Zuletzt geändert: von lars