Forum Linux.général LDAP Samba et TLS

Posté par . Licence CC By‐SA.
Étiquettes : aucune
-1
14
août
2013

Bonjours a tous,

Je suis actuellement entrain de configurer un serveur Samba avec identifiant LDAP sur Centos 5.9
La documentation pour installer le serveur LDAP+Samba sur la même machine a parfaitement fonctionner.

En revanche, pour le deuxième serveur disposant lui aussi d'un serveur Samba, je souhaiterais qu'il utilise l'authentification LDAP via le premier serveur.

j'ai donc la configuration suivante:

Serveur 1: LDAP + Samba, authentification en local via LDAP
Serveur 2 : Samba + authentification LDAP via le serveur 1

Malheureusement, je suis bloqué a cette étape:

Du serveur 2 (serveur2.com), la requête:

ldapsearch -x "cn=bpavie" -h serveur1.com -ZZZ

Retourne les bonnes informations.

En revanche, quand je démarre Samba sur le serveur2 :

service smb start

je peux voir dans les logs:
tail -f /var/log/samba/log.smbd

ldap_connect_system: Failed to retrieve password from secrets.tdb
[2013年08月13日 17:01:29, 1] lib/smbldap.c:another_ldap_try(1153)
Connection to LDAP server failed for the 15 try!

Avec le fichier smb.conf suivant:

testparm -s
Load smb config files from /etc/samba/smb.conf
Processing section "[share]"
Loaded services file OK.
Server role: ROLE_STANDALONE
[global]
 unix charset = ISO8859-1
 workgroup = STANI
 server string = Stani Files 2
 interfaces = lo, eth0, eth1
 bind interfaces only = Yes
 map to guest = Bad User
 passdb backend = ldapsam:ldap://serveur1.com/
 log file = /var/log/samba/log.%m
 max log size = 100
 name resolve order = host lmhosts wins bcast
 socket options = IPTOS_THROUGHPUT TCP_NODELAY SO_RCVBUF=65536 SO_SNDBUF=65536
 load printers = No
 printcap name = /etc/printcap
 os level = 30
 preferred master = Yes
 domain master = No
 ldap admin dn = cn=Manager,dc=serveur1,dc=com
 ldap group suffix = ou=Groups
 ldap idmap suffix = ou=People
 ldap machine suffix = ou=Computers
 ldap suffix = dc=serveur1,dc=com
 ldap ssl = start tls
 ldap user suffix = ou=People
 remote browse sync = MON IP SERVEUR 1
 create mask = 0600
 security mask = 0600
 directory mask = 0700
 directory security mask = 0700
 hosts allow = 129.112., 127., 192.168.0., 172., 169.254.231.
 hide unreadable = Yes
[share]
 comment = Guest share
 path = /home/share
 valid users = @users
 read only = No
 force create mode = 0660
 force directory mode = 0770
 inherit permissions = Yes

Et le fichier ldap.conf

vim /etc/openldap/ldap.conf
HOST serveur1.com
BASE dc=serveur1,dc=com
TLS_CACERT /etc/openldap/cacerts/ca.pem
TLS_REQCERT allow

Et le fichier /etc/openldap/cacerts/ca.pem existe bien et contient bien le certificat de serveur1...

Bref, si une bonne âme pouvez m’éclairer....

  • # smbpasswd -W

    Posté par . Évalué à 3.

    On dirait que tu as oublié de lancer la commande "smbpasswd -W" (en root) sur le second serveur.

    • [^] # Re: smbpasswd -W

      Posté par . Évalué à 1.

      Merci pour ta reponse:
      Apres avoir effectuer cette commande:

      smbpasswd -W
      Setting stored password for "cn=Manager,dc=serveur1,dc=com" in secrets.tdb
      New SMB password:
      Retype new SMB password:
      

      et redemarrer samba:

      service smb restart
      

      J'ai maintenant l'erreur suivante:

      Could not peek rid out of sid S-1-5-21-1111111-1111111-111111-500
      

      Mais quand je fais:

      net getlocalsid
      SID for domain SERVEUR2 is: S-1-5-21-2222222-2222222-2222222
      

      Bref, le SID est différent, mais je ne comprends pas d'ou ca vient

      • [^] # Re: smbpasswd -W

        Posté par . Évalué à 1.

        J'ai oublie de mentionner que je peux lister en local depuis serveur2

        smbclient -L localhost -U monuser
        Password: 
        Domain=[VISHNU] OS=[Unix] Server=[Samba 3.0.33-3.39.el5_8]
         Sharename Type Comment
         --------- ---- -------
         share Disk Guest share
        

        Depuis un autre poste (par example depuis mon poste de travail), ca marche aussi:

        smbclient -L xxx.xxx.xxx.xxx -U monuser
        Enter bpavie's password: 
        Domain=[STANI] OS=[Unix] Server=[Samba 3.0.33-3.39.el5_8]
         Sharename Type Comment
         --------- ---- -------
         share Disk Guest share
        

        I semble juste que le domaine soit différent pour une raison qui m’échappe...

        En revanche, quand je tente de me connecter:

        smbclient -U monuser "//129.112.203.156/share"
        Enter monuser's password: 
        Domain=[STANI] OS=[Unix] Server=[Samba 3.0.33-3.39.el5_8]
        tree connect failed: NT_STATUS_ACCESS_DENIED
        

        J'ai toujours une erreur
        Je sens que ce n'est plsu tres loin, si jamais l'un de vous a une idee...

        Merci!

        • [^] # Re: smbpasswd -W

          Posté par . Évalué à 1.

          Je ne suis pas calé en windowseries, mais il me semble que, dans un serveur SMB, les id de tes utilisateurs doivent être cohérent avec le sid du serveur (ils l'incluent). La commande "smbpasswd -W" fait une entrée de serveur dans ton annuaire LDAP, en improvisant un SID. Comme tes utilisateurs ont été créés sur ton premier serveur, ils ont des id qui fonctionnent avec le premier serveur, et pas avec le deuxième. La bonne solution à ton problème dépend de la réponse à la question « pourquoi faire un deuxième serveur avec la même base d'utilisateurs ? ». Si tu veux faire de la répartition de charge ou du secours, tu ferais certainement bien de lire de la documentation spécialisée sur le sujet, et de bien comprendre les arcanes du truc.

          • [^] # Re: smbpasswd -W

            Posté par . Évalué à 1.

            Merci pour ta réponse.
            L’idée, c'est que:
            Le serveur 1 est déjà installe en utilisant smbldap et donc le serveur LDAP et le serveur Samba sont déjà installe.

            Maintenant, j'ai un deuxième serveur (serveur 2) qui contient énormément de données et je voudrais qu'elles soient accessible également via samba. Comme je ne souhaite créer les utilisateur qu'une seule fois, je souhaiterais utiliser le serveur LDAP du serveur 1 afin d'autoriser l'accès au partage Samba de serveur 2 (et c'est la ou je suis un peu perdu, les documentation détaillant cela se font nettement plus rare...)

            Donc je suis toujours coince. ldapsearch marche tres bien. Lister les services disponibles sur le serveur 2 marche tres bien:
            smbclient -L serveur2 -U user1
            Enter user1's password:
            Domain=[STANI] OS=[Unix] Server=[Samba 3.0.33-3.39.el5_8]

             Sharename Type Comment
             --------- ---- -------
             Test Disk Share Folder
             IPC$ IPC IPC Service (Stani Files 2)
            Domain=[STANI] OS=[Unix] Server=[Samba 3.0.33-3.39.el5_8]
             Server Comment
             --------- -------
             VISHNU Stani Files 2
             Workgroup Master
             --------- -------
             STANI VISHNU
            

            Mais accéder au partage Samba ne fonctionne pas:
            smbclient "//serveur2/Test/" -U user1
            Enter usern1's password:
            Domain=[STANI] OS=[Unix] Server=[Samba 3.0.33-3.39.el5_8]
            tree connect failed: NT_STATUS_ACCESS_DENIED

            En regardant les logs, je vois:
            [2013年08月16日 09:34:48, 3] lib/smbldap.c:smbldap_connect_system(997)
            ldap_connect_system: successful connection to the LDAP server
            [2013年08月16日 09:34:48, 2] passdb/pdb_ldap.c:init_sam_from_ldap(545)
            init_sam_from_ldap: Entry found for user: user1

            puis

            [2013年08月16日 09:34:48, 0] auth/auth_sam.c:check_sam_security(353)
             check_sam_security: make_server_info_sam() failed with 'NT_STATUS_NO_SUCH_USER'
            [2013年08月16日 09:34:48, 2] auth/auth.c:check_ntlm_password(319)
             check_ntlm_password: Authentication for user [user1] -> [user1] FAILED with error NT_STATUS_NO_SUCH_USER
            

            Bon, si ca devient trop compliquer, je ferais la même installation sur le serveur2 que celle effectuée sur le serveur1 et voila, mais je voulais juste éviter de créer les utilisateurs 2 fois....

            Merci

            • [^] # Re: smbpasswd -W

              Posté par (site web personnel) . Évalué à 2.

              Cela de peut pas fonctionner le domaine est différent !

              Soit le 2eme serveur est à configurer en controleur secondaire de domaine ( partage la même base d'utilisateurs ) soit en serveur autonome qui rejoint le domaine sur serveur 1.

              Système - Réseau - Sécurité Open Source - Ouvert à de nouvelles opportunités

              • [^] # Re: smbpasswd -W

                Posté par . Évalué à 1.

                Et pourtant, ça fonctionne sur la configuration du précédent serveur, mais je n'est toujours pas compris comment ils ont fait. Mais tu as surement raison, je devrais mettre le serveur2 en contrôleur secondaire. Si jamais tu as un liens vers ça... Sinon, je dois pouvoir trouver.

                Merci encore

                • [^] # Re: smbpasswd -W

                  Posté par (site web personnel) . Évalué à 2.

                  De mémoire c'est indiqué dans la doc, mais bon il faut la lire en entier.

                  Système - Réseau - Sécurité Open Source - Ouvert à de nouvelles opportunités

  • # Authentification LDAP via un autre serveur

    Posté par . Évalué à -1.

    Bonjour,

    Je cherche à configurer mon serveur Samba (installé sous DEBIAN) pour qu'il puisse utiliser l'authentification LDAP via un autre serveur équipé lui de SAMBA et de LDAP. Si j'ai bien compris, je n'ai pas besoin d'installer LDAP sur mon serveur comme vous le dites bien dans votre commentaire ? J'aurai aimé avoir un peu d'aide SVP car je nage un peu dans tout ça. J'ai envie de m'orienter vers Linux et je ne fais que commencer.

    Merci d'avance

Suivre le flux des commentaires

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