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

Posté par  (site web personnel) . 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  (site web personnel) . É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  (site web personnel) . É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  (site web personnel) . É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

              • [^] # Re: smbpasswd -W

                Posté par  (site web personnel) . É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

  • # 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.