Montage cifs / mount error (13): permission denied

Salut,
J’ai un petit réseau virtuel sur GNS3 et il faut que je fasse un script s’exécutant sur une machine du réseau me permettant de créer des utilisateurs et de leur monter un répertoire partager sur un serveur de fichiers.
La création des utilisateurs, ça c’est bon, le problème actuel est que je n’arrive pas à leur monter le répertoire.
Je test déjà directement sur le poste client avec la commande:


sudo mount.cifs -o username=gilles,domain=WORKGROUP //192.168.0.2/TestDirectory /home/stagiaire2/Desktop/Documents\ en\ partage/

il me demande un mot de passe pour gilles@192.168.0.2/.....
là, je valide directement car j’ai choisi de ne pas mettre de mot de passe et la il me met le message mount error (13): permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

mon smb.conf sur le serveur de fichier:

#======================= Global Settings =======================

[global]

workgroup = WORKGROUP

#### Networking ####

Server string = Serveur de fichiers
read only = no
wins support = yes

#### Debugging/Accounting ####

log file = /var/log/samba/log.%m
max log size = 1000

panic action = /usr/share/samba/panic-action %d

#======================= Share Definitions =======================

[TestDirectory]
   path = /home/gilles/TestDirectory
   browseable = yes
   read only = no
   writeable = yes
   valid users = @samba
   security = share

Bonjour,

à tout hasard, ton utilisateur fait il bien partie du groupe ‹ samba ›, qui selon ta configuration, est seul autorisé à utiliser le partage en question ?!

gilles@GNS3:~$ groups
gilles cdrom floppy audio dip video plugdev netdev bluetooth samba
gilles@GNS3:~$ 

Peux-tu tester avec user en lieu et place de username dans ta commande cf le man de cifs

user=arg
   specifies the username to connect as. If this is not given, then the environment variable USER is used. This option can also take the form
   "user%password" or "workgroup/user" or "workgroup/user%password" to allow the password and workgroup to be specified as part of the      username.

       Note
       The cifs vfs accepts the parameter user=, or for users familiar with smbfs it accepts the longer form of the parameter username=.
       Similarly the longer smbfs style parameter names may be accepted as synonyms for the shorter cifs parameters pass=,dom= and cred=.

password=arg
   specifies the CIFS password. If this option is not given then the environment variable PASSWD is used. If the password is not specified
   directly or indirectly via an argument to mount, mount.cifs will prompt for a password, unless the guest option is specified.

   Note that a password which contains the delimiter character (i.e. a comma Ž,Ž) will fail to be parsed correctly on the command line. However,
   the same password defined in the PASSWD environment variable or via a credentials file (see below) or entered at the password prompt will be
   read correctly.

credentials=filename
   specifies a file that contains a username and/or password and optionally the name of the workgroup. The format of the file is:

                 username=value
                 password=value
                 domain=value

Si ça ne marche pas tente de monter sans préciser le domaine dans un premier temps

Non, toujours pareil.

Capture d’écran du 2020-06-29 12-30-13

Bonjour,

Cette directive est obsolète depuis Samba 4 :

Donc à supprimer ou remplacer par guest ok = yes pour un accès public sans mot de passe.
Il faut également vérifier les droits UNIX sur l’arborescence /home/gilles/TestDirectory

La doc qui te permettra d’ajuster ta configuration : https://wiki.samba.org/index.php/Setting_up_Samba_as_a_Standalone_Server

Non, toujours rien, même erreur.
j’ai modifié le paramètre.

j’ai essayé aussi de modifier le propriétaire en gilles mais rien non plus.

Capture d’écran du 2020-06-29 15-54-16

j’ai essayé de suivre la doc que tu m’a fourni en mettant exactement les mêmes paramètres mais j’ai toujours la même erreur.
j’ai testé aussi en mettant le paramètre password=« sans rien » il me demande plus de mot de passe mais il me met quand même l’erreur de permission.

Essaye en modifiant la valeur de valid users par l’ajout de gilles (voire en lieu et place de @samba)

Quel est le retour de testparm ?

Bonjour vlotho

Ne nous envoie pas des copies d’écran sous forme d’image,
dont on ne peut copier/coller le texte affiché pour faire des recherches.

Envoie nous plutôt des copiés/collés complets au format texte
avec le prompt de départ, sa ligne de commande(s),
le message retourné par la ligne de commande(s)
et le prompt final de retour.

Pour la mise en forme,
édite ton premier message pour voir la ligne que j’ai ajoutée avant le denier bloc de texte
et la ligne ajoutée après la fin du bloc
de cette façon, le bloc de lignes s’affiche pratiquement comme il est affiché dans une fenêtre de terminal : Une police de caractère à chasse fixe est utilisée pour le rendu final, les suites de caractères espace sont affichées, et les lignes affichées ne sont pas tronquées.

Merci.

j’ai testé avec le valid user à gilles mais j’aiu toujours le problème de permission.

rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[TestDirectory]"
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions
# Global parameters
[global]
	log file = /var/log/samba/log.%m
	map to guest = Bad User
	max log size = 1000
	panic action = /usr/share/samba/panic-action %d
	server string = Serveur de fichiers
	wins support = Yes
	idmap config * : backend = tdb


[TestDirectory]
	guest ok = Yes
	guest only = Yes
	path = /home/gilles/TestDirectory
	read only = No
	valid users = gilles

pour les anciens messages les captures sont prisent de machines virtuelles et ça fait pas mal de manipulations de les balancer sur termbin pour les recopier ici.
j’essayerais quand même de le faire à l’avenir.

Ce qui signifie que /home /home/gilles et /home/gilles/TestDirectory doivent être accessibles. par exemple avec les droits d’entrée et de lecture pour tous (r-x).

Si le partage n’est pas accessible à tous, ton utilisateur gilles doit exister sur le serveur, pas seulement sur le client, et être dans la base des utilisateur samba (point 4 de la doc que j’ai déjà indiquée).
Plutôt que les tentatives de montage, le retour de :

smbclient -L //192.168.0.2

ou

smbclient  //192.168.0.2/TestDirectory

Il faut aussi bien vérifier que tu n’as pas mis en place des règles de pare-feu susceptibles de bloquer le protocole SMB.

Je viens de vérifier les roits et sur /home et /home/gilles il y a bien r-x pour tous
gilles existe sur le serveur étant donné que c’est l’utilisateur principal il est dans le groupe samba comme indiqué plus haut.
pour les deux commandes, la première m’affiche anonymous login successful
et la deuxieme : tree connect failed NT_STATUS_ACCESS_DENIED

Bonjour,

Il y a quelques années j’ajoutais systématiquement l’utilisateur au serveur samba, même si l’utilisateur disposait déjà d’un compte Unix et appartenait au groupe samba :
# smbpasswd -a utilisateur

Non toujours pareil même en rajoutant l’utilisateur c’est fou quand même !!

Ce qui signifie que l’utilisateur n’est pas autorisé à se connecter.
+1 avec @lsam, il est impératif de définir un mot de passe pour l’utilisateur gilles dans la base d’utilisateurs samba.
Pour voir les utilisateurs samba sur le serveur :

pdbedit -L

Et relance les services samba sur le serveur après toute modification :

systemctl restart smbd
systemctl restart nmbd

Pour pouvoir vraiment t’aider à trouver l’origine du problème il faut que tu donnes les retours complets des commandes proposées, par exemple :

$ smbclient -L //192.168.0.2 -U gilles
WARNING: The "syslog" option is deprecated
Enter TRUC\gille's password: 

        Sharename       Type      Comment
        ---------       ----      -------
        SHARE     Disk      Share of truc
        IPC$            IPC       IPC Service (server_truc)
Reconnecting with SMB1 for workgroup listing.

        Server               Comment
        ---------            -------

        Workgroup            Master
        ---------            -------
        TRUC               SERVER_TRUC
sudo pdbedit -L :
gilles:1000:gilles

smbclient -L //192.168.0.2 -U gilles :
Unable to initialize messaging context
Enter WORKGROUP/gilles's password:
session setup failed NT_STATUS_LOGON_FAILURE

par contre je ne met pas de mot de passe vue que je l’ai paramétré ainsi

Il faut un mot de passe (quitte à ce qu’il soit vide).

non pas dans ma configuration
j’ai enlevé le mot de passe et je peux monter le partage sans problème maintenant.
désolé mais c’est un projet d’étude pas pour une vrais install de prod.
il n’y pas de restriction au niveau de la sécurité.

Bon je n’ai plus de message d’erreur maintenant il me reste à me connecter avec le bon utilisateur et à tester mais je pense que c’est bon

Et tu as fait quoi pour que cela fonctionne ?

J’ai rajouté l’utilisateur dans samba, mais au début j’avais mis un mot de passe et là je l’ai enlevé et c’est bon.
C’est juste l’utilisateur samba qui n’était pas configuré en fait.
Merci :slight_smile: