====== Montage CIFS ====== ===== Problème ===== Le montage de répertoire SAMBA du CRI avec mount.cifs échoue sur la machine où est installée Fedora 14 ; par contre, il réussit sur la machine avec OpenSuse ==== Versions utilisées : ==== * sur la machine avec Fedora : CIFS Version 1.64 * sur la machine avec OpenSuse : CIFS Version 1.68 ==== Symptômes ==== * mount error(5): Input/output error * ''/var/log/messages'' : Server requests plain text password but client support disabled * ''/var/log/messages'' : Send error in SessSetup = -5 * ''/var/log/messages'' : cifs_mount failed w/return code = -5 ==== Solution (Marche pas) ==== Après recherches sur internet et comparaison entre les fichiers de ''/proc/fs/cifs'', j'ai modifié le fichier ''/proc/fs/cifs/SecurityFlags'' (valeur initiale sur Fedora : ''0x7'') pour qu'il ait même valeur que sur OpenSuse (''0x30030'') **NB :** pour que cette modification soit permanente, il faut l'effectuer à chaque démarrage de machine, donc il faut placer la commande echo 0x30030 > /proc/fs/cifs/SecurityFlags dans le fichier ''/etc/rc.d/rc.local'' **PB :** le pseudo-répertoire ''/proc/fs/cifs'' n'existe pas encore lors de l'exécution de ''/etc/rc.d/rc.local'' **Rustine :** exécuter la commande dans le script de démarrage de X, par exemple... **PB2 : ** ça n'est pas non plus possible à l'ouverture de session pour les mêmes raisons...:-( **Question** À quel moment est créé ce répertoire ? **Réponse :** à la première tentative de montage CIFS ! ===== Solution ===== Effectivement, le pseudo-répertoire ''/proc/fs/cifs'' est créé lorsque le module ''cifs'' est chargé ; il suffit dont de le charger au démarrage, ce qui se fait dans le fichier ''/etc/rc.d/rc.local'' ; j'y ai donc ajouté ces lignes : if [ ! -c /proc/fs/cifs ] ; then /sbin/modprobe cifs /bin/echo 0x30030 > /proc/fs/cifs/SecurityFlags fi et le problème est résolu. (suggestion dûe à Laurent Beucher) ===== SecurityFlags ===== ==== signification de la valeur initiale Fedora ==== may use packet signing 0x00001 may use NTLM (most common password hash) 0x00002 may use NTLMv2 0x00004 ------- 0x00007 ==== signification de la valeur actuelle ==== must use plaintext passwords 0x20020 must use lanman password hash 0x10010 ------- 0x30030 ==== Signification des flags de /proc/fs/cifs/SecurityFlags ==== (voir le fichier [[https://www.kernel.org/doc/readme/Documentation-filesystems-cifs-README |README]] de l'arborescence des sources du noyau) Flags which control security negotiation and also packet signing. Authentication flags (e.g. for NTLM and/or NTLMv2) may be combined with the signing flags. Specifying two different password hashing mechanisms (as "must use") on the other hand does not make much sense. Default flags are 0x07007 (NTLM, NTLMv2 and packet signing allowed). The maximum allowable flags if you want to allow mounts to servers using weaker password hashes is 0x37037 (lanman, plaintext, ntlm, ntlmv2, signing allowed). Some SecurityFlags require the corresponding menuconfig options to be enabled (lanman and plaintext require CONFIG_CIFS_WEAK_PW_HASH for example). Enabling plaintext authentication currently requires also enabling lanman authentication in the security flags because the cifs module only supports sending plaintext passwords using the older lanman dialect form of the session setup SMB. (e.g. for authentication using plain text passwords, set the SecurityFlags to 0x30030) : may use packet signing 0x00001 must use packet signing 0x01001 may use NTLM (most common password hash) 0x00002 must use NTLM 0x02002 may use NTLMv2 0x00004 must use NTLMv2 0x04004 may use Kerberos security 0x00008 must use Kerberos 0x08008 may use lanman (weak) password hash 0x00010 must use lanman password hash 0x10010 may use plaintext passwords 0x00020 must use plaintext passwords 0x20020 (reserved for future packet encryption) 0x00040 ===== Problème (suite) ===== ==== Versions ==== * Fedora 19 * noyau 3.14.4 * CIFS Version 2.02 ==== Symptômes ==== * mount error(5): Input/output error * ''/var/log/messages'' : Send error in SessSetup = -5 * ''/var/log/messages'' : cifs_mount failed w/return code = -5 La valeur **''0x30030''** n'est plus acceptée par (je crois) le module cifs et par conséquent le montage échoue. Après pas mal de tâtonnements, il s'avère que la valeur **''0x30''** est acceptée et permet le montage... voir [[https://bugzilla.redhat.com/show_bug.cgi?id=1011621 | bugzilla]] # Disable Unix extensions for link dereferencing at server side echo 0 > /proc/fs/cifs/LinuxExtensionsEnabled # Set lower security for old samba versions echo '0x30' > /proc/fs/cifs/SecurityFlags ==== Solution ==== 11/09/2014 : j'ai fini par modifier ''/etc/rc.d/rc.local'' pour y mettre la valeur ''0x30'' et ça fonctionne. * Fedora 20 * noyau 3.15.10 * CIFS Version ???