Impossible de modifier des fichiers via un partage Samba

Bonjour à toutes et à tous

Je viens quérir un peut d’aide concernant un problème de droit de modification de fichier.

J’ai deux machines une sous ubuntu 8.10 et l’autre un serveur debian avec samba. J’ai via le fstab créé un point de montage réseau CIFS qui fonctionne a merveille (je peux monter et démonter sans message d’erreur).

Je peux via le partage Samba créer et renommer des répertoires et des fichiers, je peux aussi transférer des fichiers créé sur mon bureau vers le partage sans problème.

Par contre via le partage j’édite un fichier texte tout a fait basique je peux le modifier a loisir mais lorsque je tente d’enregistrer les modifications je ne peux pas l’accès est refusé.

J’ai évidement pensé que c’était un problème de droits j’ai donc fait un ls -l et j’ai tous les droits lecture, écriture et exécution pour tout le monde et je suis évidement propriétaire du fichier.

J’ai parcouru la doc et les forums mais étant nouvel utilisateur d’ubuntu j’avoue être un peut perdu.

Je fait donc appel a la communauté (non pas de l’anneau) unix/GNU pour m’aider a comprendre et solutionner mon problème.

Merci d’avance : )

Je ne suis pas apparemment le seul dans ce cas et je pense que cela vient de la distribution ubuntu.

J’ai déjà posté mon problème sur le forum ubuntu-fr.org et je le poste ici car j’ai aussi une distribution debian sur le serveur.

Je sais que normalement je devrais plutôt utiliser NFS pour le partage entre machine linux mais j’ai régulièrement des machines windows qui viennent sur le réseau.

Je met le lien vers le post de Laskoni ici http://forum.ubuntu-fr.org/viewtopic.php?id=299201 au cas ou.

Le problème ne vient pas d’Ubuntu, mais bien des droits et ici ils interviennent à 3 endroits : droits sur les dossiers/fichiers sur le système de fichier de ton serveur, droits sur les partages smb/cifs (à définir dans /etc/samba/smb.conf) et sur ta machine cliente par le biais de la commande mount

Merci de ta réponse.

J’ai bien les droits sur le serveur au niveau des fichiers et le smb.conf est correct.

Donc le problème vient uniquement du coté client Ubuntu car avec windows aucun soucis j’arrive bien a modifier les fichiers.

Pour le montage via le FSTAB j’utilise la syntaxe suivante :

Je n’ai aucun message d’erreur lors du montage.

Je ne vois pas ce qui cloche au niveau de la syntaxe … j’ai peut être omis des paramètres mais je ne vois pas où.

Et je rajoute au risque de passer pour un gros boulet (comment ça c’est déjà fait ?!?!), lorsque je monte via l’interface graphique je n’ai pas ce problème je peux accéder a tout et tout modifier.

Bizarre hein ?

Apparemment les problèmes de droits se situraient bien sur ta machine cliente sauf si dans ton /etc/samba/smb.conf tu as fait des restriction de droits sur une ou des adresse(s) ip mais je pense que tu l’aurais préciser.

L’utilisateur “user” de ta commande mount/fstab est le même que celui que tu utilise pour connecter un lecteur réseau sous la machine Windows sur laquelle ça fonctionne?

Quand tu dis que tu as fait un “ls -l” et que tu as bien tout les droits, c’est bien sur le point de montage /home/user/Documents ?

Salut!
Pour comprendre, vous faites une modification à distance du fichier F dont vous ne pouvez pas enregistrer les modifications?

Quelques vérifications faites probablement:
Propriétaire et goupe et other du fichier F
Droits d’écriture sur le fichier F pour chaque niveau de propriété

Un test peut-on copier à partir d’un pc client un fichier simple dans le répertoire du fichier F modifié à distance?

Le domaine défini dans smb.conf du pc client inclut-il bien le répertoire du fichier F, y-a t-il une ligne writeable = yes
éventuellement un guest ok dans ce répertoire réglera le problème

Dans mon cas, j’ai créé un répertoire samba sur chaque pc dans le home hors du domaine de chaque utilisateur avec les droits. Aucun soucis.
Dans le cas d’une tentative d’écriture dans les domaines utilisateurs, ça ne marche pas car il faut un mot de passe ( normal), que je n’ai pas configuré dans samba password.

nota : si après les modifs ça ne marche pas, l’application qui modifie le fichier est-elle capable de travailler en réseau?
Si non importer le fichier, modifier sur sa machine et redéposer le fichier sur l’autre pc.

Si cela peut aider.
Bon courage

Merci de vos suggestions.

Il n’y a aucune restriction dans smb.conf a ce niveau la. J’ai par ailleurs passé celui-ci au peigne fin pour voir si je n’avais pas “oublié” un paramètre et/ou laisser trainer une virgule en trop.

Hummm j’ai fait l’inverse : user linux (qui ne peut pas modifier) -> sous windows et sous windows ça roule.

Oui c’est effectivement le cas et sur les fichiers/dossiers a l’intérieur.

[quote=“vaillantbrun45”]Salut!
Pour comprendre, vous faites une modification à distance du fichier F dont vous ne pouvez pas enregistrer les modifications?[/quote]

Oui c’est tout a fait ça et quelque soit le type de fichier ou le type d’application qui modifie/édite le fichier.

[quote=“vaillantbrun45”]Quelques vérifications faites probablement:
Propriétaire et goupe et other du fichier F
Droits d’écriture sur le fichier F pour chaque niveau de propriété[/quote]

J’ai tous les droits Lecture Ecriture et Execution (RWX) pour les 3 et je suis propriétaire des fichiers/répertoires.

Oui je comme je l’ai indiqué sur mon premier post, je peux Créer, Supprimer, Ecraser des fichiers ou des répertoires comme bon me semble mais pas les modifier au travers du point de montage. J’ai même essayé ce bon vieux Vi en mode console pur (sans charger X-window) et pareil.

[quote=“vaillantbrun45”]Le domaine défini dans smb.conf du pc client inclut-il bien le répertoire du fichier F, y-a t-il une ligne writeable = yes
éventuellement un guest ok dans ce répertoire réglera le problème[/quote]

Le domaine est ok il y a tout ce qu’il faut pour le partage et la ligne “writeable” est bien sur “yes”. Par contre le guest n’est pas sur ok et je ne veux pas qu’il le soit.

[quote=“vaillantbrun45”]Dans mon cas, j’ai créé un répertoire samba sur chaque pc dans le home hors du domaine de chaque utilisateur avec les droits. Aucun soucis.
Dans le cas d’une tentative d’écriture dans les domaines utilisateurs, ça ne marche pas car il faut un mot de passe ( normal), que je n’ai pas configuré dans samba password.[/quote]

Oui je vois bien le mécanisme mais dans ce cas que dire du contrôle et de la sécurité ?

[quote=“vaillantbrun45”]nota : si après les modifs ça ne marche pas, l’application qui modifie le fichier est-elle capable de travailler en réseau?
Si non importer le fichier, modifier sur sa machine et redéposer le fichier sur l’autre pc.[/quote]

Théoriquement les points de montage sont la pour pouvoir utiliser une ressource réseau comme si elle était en local, donc je ne pense pas que cela soit un problème d’application et de toute manière que ce soit OpenOffice 3.01, Vi en console ou encore gedit ou des logiciels de retouche comme GIMP par exemple le problème reste le même.

Sinon oui comme indiqué dans mon premier post:
1- Je crée un fichier texte basique avec Gedit sur le bureau en local
2- J’édite le fichier en local et je l’enregistre … ça roule
3- Je le déplace/copie vers mon point de montage … ça roule encore
4- Je l’ouvre et je peux lire ce que j’ai noter … ça roule toujours
5- Je peux écrire/supprimer faire du copier/coller de caractères texte … ça roule toujours
6- J’essaye de faire fichier/enregistrer et la c’est la cata impossible + message d’erreur
7- Je le re-transfère sur mon bureau je peux l’ouvrir le modifier et l’enregistrer

Par contre si je passe par le menu “Raccourcis” -> “Se connecter a un serveur…” pour créer le point de montage tout marche.

Je suis au bout : )

Quand tu fais faire le montage via le fstab , c’est root qui fait le montage.
Rajoutes dans ta ligne d’options du fstab au début : user et donnes à ton point de montage un
chown ton_user:ton_user -R /media/tonpointdemontage

J’ai enfin trouver la solution après mainte recherche sur le net et grâce au concours de certaines personnes (merci à David).

En fait il s’agit d’un bug entre le noyau de UBUNTU 8.1 et Samba serveur 3.0.24 & 3.0.25.

En effet lors de l’appel du module CIFS pour le montage réseau un paramètre est sur 1 alors qu’il devrait être a 0.

La ou c’est vicieux c’est que le fichier à modifier n’est créé que lors de l’appel du montage et que lors du redémarrage du PC celui-ci et remis à zéro (donc le paramètre sur 1).

Ci-dessous le lien vers la page qui m’a permit de résoudre le problème (en anglais) :

bugs.launchpad.net/ubuntu/+sour … bug/286828

et voici la modification que j’ai faite :

Dans le fichier : /etc/init.d/networking
rajouter après :

     case "$1" in
     start)

les lignes suivantes :
#############################################
# Ajout pour compatibilite samba 3.0.25
/sbin/modprobe cifs
echo 0 > /proc/fs/cifs/LinuxExtensionsEnabled
#############################################

Je remercie tous ceux qui ont participé a ce sujet pour leur suggestions et le temps qu’il m’ont accordé.