Fourre Tout

C'est mon pense-bête

Outils pour utilisateurs

Outils du site


linux:fedora:montage_cifs

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 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 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 ???
linux/fedora/montage_cifs.txt · Dernière modification: 2021/04/11 13:50 (modification externe)