ich verzweifel hier bald. Ich hab einen Samba 4 auf Debian Stretch welcher als reiner CIFS File-Server fungiert. Kein AD ... alles was ich über Google finde bezieht sich immer auf Samba als AD ... darum nochmal erwähnt: KEIN AD !!! Ich hab keinen AD, ich will keinen AD, ein AD macht in dem Setup letztlich keinen Sinn.
Alles was ich möchte ist, die User-Authentifizierung über einen LDAP laufen lassen. Das klappt auch hervorragend, wenn ich den Samba mit dem LDAP-Server unverschlüsselt kommunizieren lasse. Stelle ich das ganze aber auf ldaps:// um, mag Samba nicht mehr.
Das ganze ist derzeit noch ein Throw-Away-System. Daher sind derzeit noch LDAP und Samba auf dem selben System. Langfristig sollen das zwei verschiedene Systeme sein. Daher möchte ich den Datenverkehr dazwischen möglichst nicht im Klartext machen. Auch wenn alles im LAN passiert.
Code: Alles auswählen
#======================= Global Settings =======================
[global]
add group script = /usr/sbin/smbldap-groupadd -p '%g'
add machine script = /usr/sbin/smbldap-useradd -w '%u'
add user script = /usr/sbin/smbldap-useradd -a '%u'
add user to group script = /usr/sbin/smbldap-groupmod -m '%u''%g'
bind interfaces only = yes
delete group script = /usr/sbin/smbldap-groupdel '%g'
delete user from group script = /usr/sbin/smbldap-groupmod -x '%u' '%g'
delete user script = /usr/sbin/smbldap-userdel '%u'
dns proxy = no
domain logons = Yes
encrypt passwords = true
guest ok = no
interfaces = 127.0.0.0/8 192.168.142.0/24
ldap admin dn = cn=admin,dc=example,dc=com
ldap group suffix = ou=Groups
ldap idmap suffix = ou=Idmap
ldap machine suffix = ou=Computers
ldap passwd sync = Yes
ldap ssl = no
ldap suffix = dc=example,dc=com
ldap user suffix = ou=Users
log file = /var/log/samba/log.%I-%m-%U
log level = 99
logon drive = H:
logon home =
logon path =
map to guest = bad user
max log size = 1000
name resolve order = lmhosts host wins bcast
netbios name = samba
obey pam restrictions = yes
pam password change = yes
panic action = /usr/share/samba/panic-action %d
passdb backend = ldapsam:ldaps://127.0.0.1/
passwd chat = *New\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n
passwd program = /usr/sbin/smbldap-passwd %u
public = no
security = user
server role = standalone
server string = %h server
set primary group script = /usr/sbin/smbldap-usermod -g '%g' '%u'
tls cafile = /etc/ssl/certs/dev-cacert.pem
tls verify peer = no_check
unix password sync = yes
usershare allow guests = no
usershare max shares = 0
wins support = yes
workgroup = SampleTech
# Include all sections in from smb.conf.d
include = /etc/samba/smb.conf.d/testshare.conf
Ja, das Zertifikat vom LDAP ist self-signed. Ist im LAN wohl auch kaum anders möglich. Ich habs zu den bekannten Zertifikaten schon hinzugefügt und hoffte eigentlich mit tls verify peer = no_check auch die Zertifikatsprüfung abgeschaltet zu haben. Allerdings habe ich das Gefühl, dass die ganzen tls-Optionen nur dafür gedacht sind den Datenverkehr zu verschlüsseln wenn der Samba selbst AD ist und LDAP Anfragen entgegen nimmt. Die Option ldap ssl = no ist übrigens für StartTLS, was hier nicht zum Einsatz kommt und daher extra auf No gesetzt wurde.
Interessanterweise funktionieren die smbldap-tools problemlos mit ldaps. Genauso wie PAM, ejabberd und NextCloud. Daher wage ich mal zu behaupten, dass nicht das LDAP-Setup das Problem ist.
Leider finde ich die Fehlermeldung von Samba auch alles andere als Hilfreich.
Code: Alles auswählen
Dez 08 14:54:59 Dev smbd[841]: [2018/12/08 14:54:59.242069, 0, pid=841, effective(0, 0), real(0, 0)] ../source3/lib/smbldap.c:998(smbldap_connect_system)
Dez 08 14:54:59 Dev smbd[841]: failed to bind to server ldaps://127.0.0.1/ with dn="cn=admin,dc=example,dc=com" Error: Can't contact LDAP server
Dez 08 14:54:59 Dev smbd[841]: (unknown error code)
Dez 08 14:55:40 Dev smbd[841]: [2018/12/08 14:55:40.690561, 0, pid=841, effective(0, 0), real(0, 0), class=passdb] ../source3/passdb/pdb_ldap.c:6540(pdb_ldapsam_init_common)
Dez 08 14:55:40 Dev smbd[841]: pdb_init_ldapsam: WARNING: Could not get domain info, nor add one to the domain. We cannot work reliably without it.
Dez 08 14:55:40 Dev smbd[841]: [2018/12/08 14:55:40.693803, 0, pid=841, effective(0, 0), real(0, 0), class=passdb] ../source3/passdb/pdb_interface.c:180(make_pdb_method_name)
Dez 08 14:55:40 Dev smbd[841]: pdb backend ldapsam:ldaps://127.0.0.1/ did not correctly init (error was NT_STATUS_CANT_ACCESS_DOMAIN_INFO)
Code: Alles auswählen
Dez 08 14:54:59 Dev slapd[784]: conn=1000 fd=13 ACCEPT from IP=127.0.0.1:43388 (IP=0.0.0.0:636)
Dez 08 14:54:59 Dev slapd[784]: conn=1000 fd=13 TLS established tls_ssf=256 ssf=256
Dez 08 14:54:59 Dev slapd[784]: conn=1000 fd=13 closed (connection lost)
Dez 08 14:55:00 Dev slapd[784]: conn=1001 fd=13 ACCEPT from IP=127.0.0.1:43390 (IP=0.0.0.0:636)
Dez 08 14:55:00 Dev slapd[784]: conn=1001 fd=13 TLS established tls_ssf=256 ssf=256
Dez 08 14:55:00 Dev slapd[784]: conn=1001 fd=13 closed (connection lost)
Was mache ich falsch? Welche Infos braucht ihr noch um helfen zu können?
Gruß
Look