[Résolu] Active directory + CIFS

cancel
Showing results for 
Search instead for 
Did you mean: 
richardb
Member II

[Résolu] Active directory + CIFS

Bonjour,

Depuis quelques temps, je travaille sur Alfresco en découvrant petit à petit les multiples facettes de ce logiciel.

J'essaye de faire fonctionner AD avec CIFS. Dans de nombreux posts, il semble que ces deux principes ne sont pas compatibles.

La solution idéale consisterait donc à faire de l'authentification Kerberos afin de contourner ce probléme.

Mais une autre solution consisterait aussi à mettre en place un serveur SAMBA.

J'ai alors suivi la check list trouvée sur le WIKI mais sans grand résultat avec tjs l'erreur d'incompatibilité CIFS et AD (voir erreur ci dessous)

Questions :
   1 - N' ai je pas fais un amalgamme entre AD et Openldap pour la mise en oeuvre de cette solution ?
   2 - Quelqu'un pourrait il m'expliquer le mécanisme d'utilisation de samba dans ce cas (quel est le role de SAMBA dans cette config) ?


je vous laisse ma configuration :

ifconfig


eth0      Link encap:Ethernet  HWaddr 00:0C:29:AA:5F:06
          inet adr:192.168.100.174  Bcast:192.168.100.255  Masque:255.255.255.0
          adr inet6: fe80::20c:29ff:feaa:5f06/64 Scope:Lien
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:251 errors:0 dropped:0 overruns:0 frame:0
          TX packets:116 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000
          RX bytes:40889 (39.9 KiB)  TX bytes:18048 (17.6 KiB)
          Interruption:177 Adresse de base:0x1400

eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:AA:5F:06
          inet adr:192.168.100.175  Bcast:192.168.100.255  Masque:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interruption:177 Adresse de base:0x1400

smb.conf
       workgroup = WORKGROUP
        server string = Samba Server Version %v

        socket address = 192.168.100.174
        interfaces = 192.168.100.0/255.255.255.0
        bind interfaces only = yes

 

file-server.xml
 <config evaluator="string-compare" condition="CIFS Server">
          <serverEnable enabled="true"/>
      <host name="${localname}_A" domain="WORKGROUP"/>
      <comment>Alfresco CIFS Server</comment>

      <!– Set to the broadcast mask for the subnet –>
      <broadcast>192.168.100.255</broadcast>
      <bindto>192.168.100.175</bindto>

      <!– Use Java socket based NetBIOS over TCP/IP and native SMB on linux –>

           <!– Can be mapped to non-privileged ports, then use firewall rules to forward
                    requests from the standard ports –>

      <tcpipSMB platforms="linux,solaris,macosx"/>
      <netBIOSSMB platforms="linux,solaris,macosx"/>
      <hostAnnounce interval="5"/>

      <!– Use Win32 NetBIOS interface on Windows –>
      <Win32NetBIOS/>
      <Win32Announce interval="5"/>

<!–
      <tcpipSMB platforms="linux,solaris,macosx"/>
      <netBIOSSMB platforms="linux,solaris,macosx"/>
      <WINS>
         <primary>1.2.3.4</primary>
         <secondary>5.6.7.8</secondary>
      </WINS>
–>

file-servers-custom.xml
<alfresco-config area="file-servers">

   <!– To override the default Alfresco filesystem use replace="true", to –>
   <!– add additional filesystems remove the replace="true" attribute     –>

   <config evaluator="string-compare" condition="Filesystems" replace="true">
      <filesystems>

         <filesystem name="Alfresco">
            <store>workspace://SpacesStore</store>
            <rootPath>/app:company_home</rootPath>

            <!– Add a URL file to each folder that links back to the web client –>
            <urlFile>
               <filename>__Alfresco.url</filename>
               <webpath>http://${localname}:8080/alfresco/</webpath>
            </urlFile>

            <!– Mark locked files as offline –>
            <offlineFiles/>

            <!– Desktop actions –>

            <desktopActions>
               <global>
                  <path>alfresco/desktop/Alfresco.exe</path>
                  <webpath>http://${localname}:8080/alfresco/</webpath>
               </global>
               <action>
                  <class>org.alfresco.filesys.smb.server.repo.desk.CheckInOutDesktopAction</class>
                  <name>CheckInOut</name>
                  <filename>__CheckInOut.exe</filename>
               </action>
               <action>
                  <class>org.alfresco.filesys.smb.server.repo.desk.JavaScriptDesktopAction</class>
                  <name>JavaScriptURL</name>
                  <filename>__ShowDetails.exe</filename>
                  <script>alfresco/desktop/showDetails.js</script>
                  <attributes>anyFiles</attributes>
                  <preprocess>copyToTarget</preprocess>
               </action>

            </desktopActions>

alfresco.log error
17:12:29,438 WARN  [org.springframework.remoting.rmi.RmiRegistryFactoryBean] Could not detect RMI registry - creating new one
17:12:34,023 INFO  [org.alfresco.repo.domain.schema.SchemaBootstrap] Schema managed by database dialect org.hibernate.dialect.MySQLInnoDBDialect.
17:12:35,198 INFO  [org.alfresco.repo.domain.schema.SchemaBootstrap] Aucune modification na été apportée au schéma.
17:12:36,892 WARN  [org.alfresco.repo.admin.ConfigurationChecker] The Alfresco 'dir.root' property is set to a relative path './alf_data'.  'dir.root' should be overridden to point to a specific folder.
17:12:36,892 INFO  [org.alfresco.repo.admin.ConfigurationChecker] The Alfresco root data directory ('dir.root') is: ./alf_data
17:12:37,030 INFO  [org.alfresco.repo.admin.patch.PatchExecuter] Vérification des correctifs à appliquer …
17:12:37,201 INFO  [org.alfresco.repo.module.ModuleServiceImpl] 0 module(s) trouvé(s).
17:12:37,389 ERROR [org.alfresco.smb.protocol.auth] No valid CIFS authentication combination available
17:12:37,390 ERROR [org.alfresco.smb.protocol.auth] Either enable Kerberos support or use an authentication component that supports MD4 hashed passwords
17:12:37,393 ERROR [org.alfresco.smb.protocol] CIFS server configuration error, Invalid CIFS authenticator configuration
org.alfresco.error.AlfrescoRuntimeException: Invalid CIFS authenticator configuration
        at org.alfresco.filesys.server.auth.EnterpriseCifsAuthenticator.initialize(EnterpriseCifsAuthenticator.java:348)
        at org.alfresco.filesys.server.config.ServerConfiguration.setAuthenticator(ServerConfiguration.java:3425)
        at org.alfresco.filesys.server.config.ServerConfiguration.processSecurityConfig(ServerConfiguration.java:2405)
        at org.alfresco.filesys.server.config.ServerConfiguration.init(ServerConfiguration.java:641)
        at org.alfresco.filesys.server.config.ServerConfiguration.onBootstrap(ServerConfiguration.java:4122)
        at org.alfresco.util.AbstractLifecycleBean.onApplicationEvent(AbstractLifecycleBean.java:62)
        at org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:77)
        at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)

J'utilise :
   - Alfresco tomcat community 2.1 sur serveur CentOs 5.1
   - AD sur serveur W2000
   - Samba pour Centos 5.1

Précision :
  - AD et Alfresco ne sont pas dans le même domaine
  - La  connexion se fait via un VPN

  - Si je mets en oeuvre la solution précédente avec l' authentification alfresco par défaut, le bind sur 100.175 se passe trés bien
   
tcp 0 0 192.168.100.174:139 0.0.0.0:* LISTEN 2520/smbd
tcp 0 0 192.168.100.174:445 0.0.0.0:* LISTEN 2520/smbd
tcp 0 0 :::42081 :::* LISTEN 2654/java
tcp 0 0 :::50500 :::* LISTEN 2654/java
tcp 0 0 ::ffff:127.0.0.1:8005 :::* LISTEN 2654/java
tcp 0 0 ::ffff:192.168.100.175:139 :::* LISTEN 2654/java
tcp 0 0 :::8080 :::* LISTEN 2654/java
tcp 0 0 :::21 :::* LISTEN 2654/java
tcp 0 0 ::ffff:192.168.100.175:445 :::* LISTEN 2654/java
udp 0 0 192.168.100.174:137 0.0.0.0:* 2523/nmbd
udp 0 0 192.168.100.174:137 0.0.0.0:* 2523/nmbd
udp 0 0 192.168.100.174:138 0.0.0.0:* 2523/nmbd
udp 0 0 192.168.100.174:138 0.0.0.0:* 2523/nmbd
udp 0 0 ::ffff:192.168.100.175:137 :::* 2654/java
udp 0 0 ::ffff:192.168.100.175:138 :::* 2654/java
  
  - Si je rajoute l'authentification AD, CIFS est HS et le bind sur le 100.175 disparait
tcp 0 0 192.168.100.174:139 0.0.0.0:* LISTEN 2520/smbd
tcp 0 0 192.168.100.174:445 0.0.0.0:* LISTEN 2520/smbd
tcp 0 0 :::50500 :::* LISTEN 2979/java
tcp 0 0 ::ffff:127.0.0.1:8005 :::* LISTEN 2979/java
tcp 0 0 :::44684 :::* LISTEN 2979/java
tcp 0 0 :::8080 :::* LISTEN 2979/java
tcp 0 0 :::21 :::* LISTEN 2979/java
udp 0 0 192.168.100.174:137 0.0.0.0:* 2523/nmbd
udp 0 0 192.168.100.174:137 0.0.0.0:* 2523/nmbd
udp 0 0 192.168.100.174:138 0.0.0.0:* 2523/nmbd
udp 0 0 192.168.100.174:138 0.0.0.0:* 2523/nmbd
udp 0 0 :::55517 :::* 2979/java

Voila ma problématique. Si quelqu'un trouve une erreur dans ma logique ou dans ma config, son aide sera plus que précieuse car je suis vraiment bloqué sur ce point

Si vous avez besoin de plus d'information, je reste à votre disposition

Cordialement à tous

Richard
2 Replies
richardb
Member II

Re: [Résolu] Active directory + CIFS

Probléme trouvé.

dans le fichier file-servers-custom.xml, il manquait une balise importante pour le passthru :

 <config evaluator="string-compare" condition="Filesystem Security" replace="true">
   <authenticator type="passthru">
   <Server>IP_SERVER_AD</Server>
    </authenticator>
   </config>

maintenant l'authentification AD et CIFS marchent parfaitement ensemble

cordialement

Richard
michaelh
Active Member

Re: [Résolu] Active directory + CIFS

Bonjour,

En effet, AD + CIFS fonctionnent parfaitement ensemble.
C'est le couple LDAP + CIFS qui nécessite de monter des solutions d'authentification complémentaires (incompatibilité de format de mot de passe).