Je cherche à configurer un nouveau partage de fichiers Samba qui utilise LDAP pour l'authentification principale. Le serveur LDAP est déjà configuré et la machine sur laquelle le serveur Samba sera installé est déjà configurée pour autoriser l'accès SSH à l'aide de l'authentification LDAP.
Il semble que les cas d'utilisation les plus courants documentés pour l'intégration Samba/LDAP impliquent le stockage de schémas Samba sur le serveur LDAP, la synchronisation des mots de passe, la mise à jour des mots de passe vers LDAP via Samba, etc. Je ne cherche rien de tout cela - tout ce que je veux faire, c'est que le serveur Samba s'authentifie anonymement via LDAP et récupère les données de groupe sur l'utilisateur afin que l'autorisation puisse être gérée dans la configuration Samba.
Si c'est important:
Voici ce que j'ai jusqu'à présent:
[global]
server string = Samba Server (%v)
workgroup = WORKGROUP
interfaces = eno1
server role = standalone server
log file = /var/log/samba/smb.log
max log size = 10000
log level = 3 passdb:5 auth:5
passdb backend = ldapsam:ldaps://hostname
ldap suffix = dc=hostname,dc=TLD
ldap user suffix = cn=users,cn=accounts
ldap group suffix = cn=groups,cn=accounts
[Share1]
path = /srv/share1
valid users = @group1, @group3
force group = @group1
read only = no
browsable = yes
[Share2]
path = /srv/share2
valid users = @group2, @group3
force group = @group2
read only = no
browsable = yes
Mais Samba ne démarre pas. L'état Systemctl affiche les éléments suivants:
../source3/passdb/secrets.c:362(fetch_ldap_pw)
fetch_ldap_pw: neither ldap secret retrieved!
../source3/passdb/pdb_ldap.c:6542(pdb_init_ldapsam_common)
pdb_init_ldapsam_common: Failed to retrieve LDAP password from secrets.tdb
../source3/passdb/pdb_interface.c:180(make_pdb_method_name)
pdb backend ldapsam:ldaps://hostname did not correctly init (error was NT_STATUS_NO_MEMORY)
Je voudrais pas devoir faire ce qui suit:
Je veux juste que Samba:
Que dois-je faire d'autre?
Je suppose que vous voulez exécuter Samba en mode contrôleur de domaine simple compatible WinNT, pas en mode Active Directory complet.
Vous devez d'abord comprendre que l'authentification SMB est basée sur un hachage de mot de passe NTLM. Fondamentalement, il s'agit d'un justificatif en texte clair pour une authentification challenge-response qui peut être stockée dans les entrées utilisateur LDAP, mais dans attribut séparé sambaNTPassword. Attribut userPassword est pas utilisé du tout et Samba n'envoie pas de demande de liaison au serveur LDAP pour vérifier l'utilisateur mot de passe.
=> Vous devez installer le schéma Samba et ajouter la classe d'objets auxiliaires sambaSamAccount aux entrées utilisateur.
Dans une configuration correcte, vous devez autoriser l'utilisateur du service de votre Samba DC à lire cet attribut sambaNTPassword. Vos ACL doivent empêcher quiconque de lire cet attribut.
=> Vous devez créer une entrée de service pour Samba DC dans votre annuaire LDAP et accorder un accès en lecture aux entrées utilisateur.
Il existe également une superposition de serveur OpenLDAP appelée slapo-smbk5pwd qui met à jour sambaNTPassword dans le cas où l'attribut userPassword est défini via Password Modify fonctionnement étendu (voir RFC 3062 ). En l'utilisant, vous n'aurez pas à accorder à Samba l'accès en écriture à l'entrée utilisateur.