Forum général.général "Monter" une infra permettant authentification centralisée à des fichiers partagés (via CIFS/Samba)

Posté par  . Licence CC By‑SA.
Étiquettes :
2
10
août
2021

Bonjour,

Rare passage de ma part sur ce forum dans l'espoir de trouver des avis éclairés sur mon problème que voilà :

J'ai un besoin assez "basique" : je cherche à mettre en place un partage de fichiers entre mes utilisateurs.

J'ai à ma disposition :

  • Des serveurs (sous Debian 10, bientôt 11).
  • Des stations de travail Ubuntu 20 et Windows 10.

J'ai toujours vu le couplage Samba-LDAP comme peu évident pour un néophyte (notamment les attributs LDAP spécifiques : sambaLMPassword, sambaNTPassword, sambaSID, etc. qui font parfois doublon avec d'autres attributs).

J'en ai mis en place une ou deux fois, mais toujours dans la douleur. Là où un accès SSH/SFTP avec PAM ldap et NSS fonctionne très rapidement.
Mais je sais que c'est inhérent à la différence des 2 systèmes, notamment au niveau des mots de passe.

Donc ma question est donc : quels sont, en 2021, sur une infrastructure vierge, les bons services/logiciels à employer pour :

  • avoir un référentiel unique (une liste) des utilisateurs existants (et leur mot de passe) : un annuaire LDAP par exemple (ou un autre truc similaire/complémentaire, etc.).
  • partager, depuis des serveurs Debian, des fichiers à des utilisateurs qui y accèdent depuis Windows ou Ubuntu via le protocole CIFS (\\server1.example.com\Partage1 ou smb://server1.example.com/Partage1).
  • définir les autorisations d'accès, par groupe et/ou par utilisateur, sur ces serveurs (et pas obligatoirement dans le référentiel)
  • que ces utilisateurs saisissent leur mot de passe lors de l'accès au serveur de fichier (et pas quand ils allument leur ordinateur).
  • les stations de travail ne soient pas obligatoirement membre d'un Active Directory

J'ai entendu parler de Kerberos, SSSD mais je ne sais pas si c'est juste mieux ou si ça résoudrait mon problème.

Concernant l'alimentation de l'annuaire LDAP (si annuaire il y a) : j'ai mes propres outils maison pour créer les utilisateurs/groupes. Mais s'il y a des valeurs particulières (hashs spéciaux de mots de passe je ne sais pas contre m'appuyer sur librairies éprouvées par contre).

Bonne soirée/vacances/journée/appétit/mise à jour/déploiement !

  • # samba4 comme serveur ldap/activedirectory

    Posté par  . Évalué à 4.

    • avoir un référentiel unique (une liste) des utilisateurs existants (et leur mot de passe) : un annuaire LDAP par exemple (ou un autre truc similaire/complémentaire, etc.).
    • partager, depuis des serveurs Debian, des fichiers à des utilisateurs qui y accèdent depuis Windows ou Ubuntu via le protocole CIFS (\server1.example.com\Partage1 ou smb://server1.example.com/Partage1).
    • définir les autorisations d'accès, par groupe et/ou par utilisateur, sur ces serveurs (et pas obligatoirement dans le référentiel)
    • que ces utilisateurs saisissent leur mot de passe lors de l'accès au serveur de fichier (et pas quand ils allument leur ordinateur).

    avec samba4, le serveur peut aussi etre un equivalent 'active directory'
    tu as donc ton serveur central qui gere les utilisateurs et fournit de quoi partager les fichiers via CIFS (nouveau nom de samba)

    je ne vois pas pourquoi il faudrait que l'ordinateur client soit dans le domaine pour accéder aux fichiers, un simple login user@domaine ou domaine\user est suffisant.

    maintenant si tu en es là, le fait de gérer l'autorisation au login de l'utilisateur rend l'accès au partage transparent, grace justement au SSO via kerberos.

    et ton ActiveDirectory permettra aussi d'activer les GPO pour creer des lecteurs reseaux en fonctions de l'appartenance de l'utilisateur à un groupe par exemple.

    • [^] # Re: samba4 comme serveur ldap/activedirectory

      Posté par  . Évalué à 1.

      Merci de ton retour.

      Par ta réponse je présume qu'il n'existe rien de mieux qu'un annuaire LDAP comme référentiel externe utilisable par Samba (là où en web on aurait OAuth/OpenID par exemple).

      J'avais effectivement lu que Samba 4 intégrait un annuaire LDAP.

      Donc la complexité de coupler Samba et LDAP est "cachée" par le fait qu'il soit intégré.

      Mais dans cet annuaire interne est-il exploitable en dehors de Samba ?

      J'ai d'autres outils (web notamment, en PHP ou via modules Apache) qui utilisent un annuaire LDAP comme référentiel d'utilisateur.
      Si on peut synchroniser l'annuaire de Samba4 avec un annuaire OpenLDAP "classique" qui serait lu par les applications ça éviterait une double saisie…

      Comme expliqué je n'ai que faire de la partie ActiveDirectory (mais c'est un plus à considérer).

      • [^] # Re: samba4 comme serveur ldap/activedirectory

        Posté par  . Évalué à 2.

        alors dans le sens
        autres applis se basant sur ldap -> SambaLDAP/AD comme source : OUI, c'est meme fait pour

        il faut juste configurer des applis pour utiliser le schema AD (comme si c'était un service windows AD)

        dans le sens : samba qui va interroger un LDAP externe deja existant, ca doit se faire aussi vu que samba4 peut etre "esclave" d'un contrôleur de domaine, il doit aussi parfaitement pouvoir aller lire des infos dans le LDAP existant, mais pour les partages il faudra toujours les SID et autres joyeusetés

      • [^] # Re: samba4 comme serveur ldap/activedirectory

        Posté par  . Évalué à 1. Dernière modification le 13 août 2021 à 09:04.

        J'ai d'autres outils (web notamment, en PHP ou via modules Apache) qui utilisent un annuaire LDAP comme référentiel d'utilisateur.

        Alors branche ton samba sur ton LDAP (avec passwd backend = ldapsam://... pour samba, et le schéma samba dans openldap).

        J'utilise le même annuaire LDAP pour les comptes Unix (avec pam-ldap), samba, les applis web (redmine, intranet…) et autres applis internes, ça fonctionne bien.

        • [^] # Re: samba4 comme serveur ldap/activedirectory

          Posté par  . Évalué à 1. Dernière modification le 17 août 2021 à 00:22.

          Comme expliqué, j'ai déjà fait ce genre de couplage Samba-LDAP : c'est toujours assez compliqué.

          Sans demander un système "clickdrome", le schéma LDAP pour Samba n'est pas des plus évident et mes expériences (sur des versions dépassées de nos jours) ressemblaient surtout à « Triturer l'annuaire LDAP dans tous les sens pour que Samba soit content » : laissant l'impression qu'il manquait un liant entre LDAP et Samba.

          Mais je vois que les premiers avis convergent vers du Samba+LDAP, traduisant l'absence d'alternative à LDAP comme délégué à l'authentification.

          Si Samba4 intègre tous les morceaux de manière cohérente permettant de faire ça : je vais tester cette solution.

          • [^] # Re: samba4 comme serveur ldap/activedirectory

            Posté par  . Évalué à 1.

            Ben sur mes OpenLDAPs (les versions livrées sur Debian 6, 8 et 10), ça fonctionne avec le schéma fourni dans le paquet samba. De mémoire, le truc important c'est que le "netbios name" doit être le même dans l'annuaire et dans le smb.conf. Le reste est relativement simple (si tant est que LDAP puisse être simple ;) ).

  • # TrueNAS et FreeIPA

    Posté par  . Évalué à 2.

    Tu seras peut-être intéressé par ce journal de 2015

    Voici quelques logiciels libres qui peuvent t'aider pour ton projet

    • FreeIPA, pour avoir LDAP, Kerberos, SSSD. En revanche c'est plus beaucoup simple de l'installer sur un serveur RedHat (ou un de ses clones) que Ubuntu ou Debian.
    • TrueNAS Core, NAS open-source motorisé par FreeBSD. Apporte en particulier OpenZFS et une interface de gestion web.
    • TrueNAS SCALE alternative (encore en béta) à TrueNAS Core, mais qui s'appuie sur Debian au lieu de FreeBSD.
    • [^] # Re: TrueNAS et FreeIPA

      Posté par  . Évalué à 1.

      Merci pour le lien vers le journal : il était très très intéressant.

      Ce ce que j'y ait lu, Samba4 + quelques synchro vers un autre LDAP pour éviter de tout laisser en ligne serait l'outil adapté vu que j'ai un parc contenant du Windows (sinon j'opterais pour du FreeIPA je pense)

      J'avais déjà utilisé FreeNAS sans LDAP il y a longtemps pour un autre projet et ça fonctionnait bien, puis j'avais testé son "concurrent" Debian : OpenMediaVault qui fonctionnait aussi très bien, mais là encore sans LDAP.

      TrueNAS Core est dans ma liste "A tester" surtout qu'il annonce un support (natif) LDAP / AD (ce que ne fait pas OpenMediaVault).

      • [^] # Re: TrueNAS et FreeIPA

        Posté par  . Évalué à 2.

        OpenMediaVault qui fonctionnait aussi très bien, mais là encore sans LDAP

        ben tu as ta solution de partage alors,
        plus qu'à activer le support LDAP
        l'integration faite par les autres t'evitera de triturer ldap pour qu'il cause à samba :)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.