5 votes

Changements de permissions étranges lors de l'enregistrement d'un fichier sur une partition Samba à partir d'un éditeur Windows

J'essaie de comprendre pourquoi un comportement spécifique se produit lorsque les perms changent sur un fichier sauvegardé à partir d'un éditeur Windows sur une partition Unix montée en SAMBA.

Situation :

  • Nous avons un fichier sous Unix, avec des permissions de 777 :

    -rwxrwxrwx 1 testuser users 4859 Jan 23 15:09 fbparser.pl*

  • Le répertoire où se trouve le fichier est monté à partir d'un PC Windows 7, via Samba.

  • Nous ouvrons le fichier pour l'éditer dans les éditeurs "Notepad++" ou "Sublime".

  • Lorsque le fichier est modifié et sauvegardé, du côté Unix, les permissions deviennent :

    -rw-rwxrwx 1 testuser users 4859 Jan 23 15:09 fbparser.pl*

Maintenant, je soupçonne que ce n'est PAS dû au montage Samba, car le même problème s'est produit. N'EST PAS se produisent lors de l'ouverture et de l'enregistrement du fichier dans le bloc-notes Windows habituel !

J'ai donc d'abord pensé que cela était dû au fait que les éditeurs de programmation mentionnés ci-dessus peuvent être configurés pour - au lieu de simplement enregistrer le fichier - renommer le fichier d'origine en $orig_filename.bak puis enregistrer le nouveau contenu en tant que NOUVEAU fichier avec le nom de fichier d'origine. Ceci est basé sur ma propre expérience du même problème avec l'éditeur UltraEdit.

Cependant, si c'est la raison pour laquelle les permanentes changent, je ne peux pas expliquer deux AUTRES symptômes que j'ai observés :

  • Tout d'abord, aucun fichier de sauvegarde n'est créé.

  • Deuxièmement, lors de la création de NOUVEAUX fichiers (à l'aide de touch ) dans le même répertoire dans Unix Shell, les perms pour le nouveau fichier ne sont PAS -rw-rwxrwx du tout.

  • Troisièmement, si cela a de l'importance, le numéro d'inode du fichier reste le même après la modification.

Quelle autre cause pourrait être à l'origine du problème et quelles mesures puis-je prendre pour y remédier ?

Mon propre problème avec UltraEdit a disparu lorsque j'ai dit à UE de NE PAS sauvegarder le fichier en le renommant ; cependant, Notepad++ ne dispose pas d'une telle option.

7voto

dreeves Points 9130

J'ai trouvé cette question en essayant de résoudre un problème très similaire. La solution dans mon cas était d'ajouter map archive = no dans la section globale de smb.conf.


Le problème sous-jacent est la façon dont Samba fait correspondre les autorisations entre Dos et Linux.

Il semble que lorsque notepad++ enregistre un fichier, il définit/réinitialise l'attribut "archive" du fichier dos. Par défaut, Samba utilise cet attribut pour gérer l'attribut execute pour les permissions des utilisateurs sur un fichier.

Ainsi, si vous définissez le paramètre Samba :

map archive = no

L'attribut n'est pas mappé et les autorisations d'exécution de l'utilisateur sont conservées telles qu'elles étaient définies précédemment.

0voto

user130601 Points 1

J'ai connu la même situation. La modification du paramètre create mask dans le fichier smb.conf m'a aidé.

create mask = 0600 ->  create mask = 0700

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X