Samba mit LDAP benötigt Unix-Account?
Ich habe einen Samba-Server mit LDAP-Anbindung.
In meiner smb.conf hatte ich eine Freigabe, mit folgenden Einstellungen:
Der User (sebastian) war nur am LDAP-Server vorhanden und die Anmeldung war nie erfolgreich. Der Befehl pdbedit sagte mir immer
Also habe ich einen Unix account hinzugefügt (useradd sebastian ...) und nun funktioniert alles!
Nun meine Frage:
Brauche ich für jeden LDAP-Account, den ich bei Samba verwende einen Unix-Account?
Benjamin
In meiner smb.conf hatte ich eine Freigabe, mit folgenden Einstellungen:
...
force user = sebastian
write list = sebastian
...
...
pdb_get_group_sid: Failed to find Unix account for sebastian
...
Nun meine Frage:
Brauche ich für jeden LDAP-Account, den ich bei Samba verwende einen Unix-Account?
Benjamin
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 64140
Url: https://administrator.de/contentid/64140
Ausgedruckt am: 22.11.2024 um 20:11 Uhr
1 Kommentar
Ja.
Aus dem Samba Manual:
The need for Windows user, group, machine, trust, and other accounts to be tied to a valid UNIX UID is a design decision that was made a long way back in the history of Samba development. It is unlikely that this decision will be reversed or changed during the remaining life of the Samba-3.x series.
Allerdings kann Samba das unter Umständen automatisieren. Eventuell hilft Dir dies weiter:
add user script
Hier kann der komplette Pfad angegeben werden für eine Skript-Datei, die von smbd ausgeführt werden kann. Dieses Skript wird von Samba mit root-Rechten ausgeführt.
Wenn ein Client die Dienste eines Samba-Servers nutzen will, so muss dieser über einen ganz normalen Unix-Account auf der Linux- beziehungsweise Unix-Workstation verfügen. Das bedeutet, für jede Share der Datei /etc/samba/smb.conf muss ein Eintrag in der passwd-Datei existieren (ausgenommen die [homes]S, die [global]-section und die [printers]). Für Clients, die die Windows NT-Account Database als Primary User Database verwenden, können die User-Einträge des Windows NT-PDC (siehe Glossarpdcpdc) auf der Unix-Seite auch automatisch generiert werden. Dazu bedient man sich eines Skripts, das mit dieser Option ausgeführt werden kann. Wenn ein User, der in dem Windows NT-PDC registriert ist, sich das erste Mal mit dem Samba-Server verbinden will, kann der User auf Anforderung in der /etc/passwd-Datei angelegt werden. Um diese Eigenschaft nutzen zu können, muss der Daemon smbd als security=server oder als security=domain konfiguriert sein. Der Eintrag add user script in der /etc/samba/smb.conf muss unter Angabe des vollen Pfadnamens auf ein Skript zeigen, das ein Argument %u akzeptiert. Dieses Skript erzeugt dann auf Anfrage den User in der /etc/passwd-Datei.
Wenn ein Windows-Client das erste Mal auf einem Samba-Server einen Login-Versuch startet, wird der Daemon smbd den Password-Server kontaktieren (Windows NT-PDC) und versuchen, sich mit dem korrekten Password zu authentifizieren. Falls die Authentifizierung erfolgreich war, wird der Daemon smbd versuchen, einen gleichlautenden Eintrag in der /etc/passwd zu finden. Wird ein solcher Eintrag gefunden, so kann der User die Verbindung zum Samba-Server aufbauen. Im Falle des Misserfolges (das ist immer dann der Fall, wenn es zum ersten Kontaktversuch eines Windows-Clients auf einem Samba-Server kommt) und wenn der Parameter add user script auf ein ausführbares Skript zeigt, wird smbd das angegebene Skript mit root-Rechten aufrufen, das Argument %u expandieren und den User in der Password-Datenbasis erzeugen. Falls das Skript den User erfolgreich anlegen konnte, wird die Verbindung zum Samba-Server freigeschaltet, so als ob das Login bereits vor dem Versuch existiert hätte.
Voreinstellung:
add user script = <leere Zeichenkette>
Beispiel:
add user script = /usr/lib/samba/bin/add_user %u
Aus dem Samba Manual:
The need for Windows user, group, machine, trust, and other accounts to be tied to a valid UNIX UID is a design decision that was made a long way back in the history of Samba development. It is unlikely that this decision will be reversed or changed during the remaining life of the Samba-3.x series.
Allerdings kann Samba das unter Umständen automatisieren. Eventuell hilft Dir dies weiter:
add user script
Hier kann der komplette Pfad angegeben werden für eine Skript-Datei, die von smbd ausgeführt werden kann. Dieses Skript wird von Samba mit root-Rechten ausgeführt.
Wenn ein Client die Dienste eines Samba-Servers nutzen will, so muss dieser über einen ganz normalen Unix-Account auf der Linux- beziehungsweise Unix-Workstation verfügen. Das bedeutet, für jede Share der Datei /etc/samba/smb.conf muss ein Eintrag in der passwd-Datei existieren (ausgenommen die [homes]S, die [global]-section und die [printers]). Für Clients, die die Windows NT-Account Database als Primary User Database verwenden, können die User-Einträge des Windows NT-PDC (siehe Glossarpdcpdc) auf der Unix-Seite auch automatisch generiert werden. Dazu bedient man sich eines Skripts, das mit dieser Option ausgeführt werden kann. Wenn ein User, der in dem Windows NT-PDC registriert ist, sich das erste Mal mit dem Samba-Server verbinden will, kann der User auf Anforderung in der /etc/passwd-Datei angelegt werden. Um diese Eigenschaft nutzen zu können, muss der Daemon smbd als security=server oder als security=domain konfiguriert sein. Der Eintrag add user script in der /etc/samba/smb.conf muss unter Angabe des vollen Pfadnamens auf ein Skript zeigen, das ein Argument %u akzeptiert. Dieses Skript erzeugt dann auf Anfrage den User in der /etc/passwd-Datei.
Wenn ein Windows-Client das erste Mal auf einem Samba-Server einen Login-Versuch startet, wird der Daemon smbd den Password-Server kontaktieren (Windows NT-PDC) und versuchen, sich mit dem korrekten Password zu authentifizieren. Falls die Authentifizierung erfolgreich war, wird der Daemon smbd versuchen, einen gleichlautenden Eintrag in der /etc/passwd zu finden. Wird ein solcher Eintrag gefunden, so kann der User die Verbindung zum Samba-Server aufbauen. Im Falle des Misserfolges (das ist immer dann der Fall, wenn es zum ersten Kontaktversuch eines Windows-Clients auf einem Samba-Server kommt) und wenn der Parameter add user script auf ein ausführbares Skript zeigt, wird smbd das angegebene Skript mit root-Rechten aufrufen, das Argument %u expandieren und den User in der Password-Datenbasis erzeugen. Falls das Skript den User erfolgreich anlegen konnte, wird die Verbindung zum Samba-Server freigeschaltet, so als ob das Login bereits vor dem Versuch existiert hätte.
Voreinstellung:
add user script = <leere Zeichenkette>
Beispiel:
add user script = /usr/lib/samba/bin/add_user %u