préserver les autorisations de fichier pour les partages samba lorsque le fichier est modifié
Les bases de code, je travaille avec des extraits de dépôts Git sur ma machine Linux. Depuis notre production de code est écrit pour être déployé sur Linux, j'ai fais tous les tests sur ma machine Linux, mais comme l'utilisation de Windows pour l'utilisation de tous les jours, y compris le code de montage et de création.
Pour cela, j'ai créé un partage Samba du dossier (mon dossier d'accueil) où j'ai la caisse le code, comme ceci:
[wgrover]
path = /home/wgrover
available = yes
valid users = wgrover
read only = no
browsable = yes
public = yes
writable = yes
Cependant, quand j'ai modifier un fichier depuis le partage samba \\linux-box\wgrover
dans Windows, la permission de fichier sous Linux ne cesse de changer de 755
même si elle a été 644
avant de modifier.
Cela continue de s'afficher dans mon git diff
comme ceci:
diff --git a/debian/maggie.nginx.conf b/debian/maggie.nginx.conf
old mode 100644
new mode 100755
index 7cda506..7eab574
Il est possible de définir une create mask
dans smb.conf mais qui ne le seront pas "préserver" l'origine des autorisations de fichier. Je peux ignorer des fichiers les changements de mode de git par la mise en fileMode = false
dans .gitconfig
mais qui ignore le problème.
Est-il un moyen de préserver les permissions sur les fichiers lorsqu'ils sont modifiés à partir de linux?
- mon /etc/login.defs dit
UMASK 022
, est pertinente? - j'ai essayé de jouer avec le umask de la valeur, mais sans succès. avez-vous une référence à la documentation que vous avez vu sur qui?
- je sais que sur umask. je voulais savoir pourquoi pensez-vous umask a de quoi faire de samba de création de fichier et si il y avait tous les documents se référant à la.
- Oui. J'ai trouvé quelques morceaux de documentation.
- Ceux qui étaient à la fois des questions d'utilisateurs à propos de umask affectant samba de création de fichier. À ma connaissance, il n'a pas. C'est la raison pour laquelle il est
create mask
etdirectory mask
paramètres dans Samba. Si vous avez un peu de temps libre, lisez la section Création de Masques ici: samba.org/samba/docs/using_samba/ch08.html - ça explique pourquoi umask n'a pas d'effet de la samba.
Vous devez vous connecter pour publier un commentaire.
Pourrait enfin comprendre pourquoi la permission a été en train de changer. La confusion est née de la
map archive = yes
étant la valeur par défaut dans Samba. Après le réglage demap archive = no
, le propriétaire bit d'exécution commencé à se comporter comme j'ai prévu de se comporter.Trouvé la réponse en lisant la documentation ici: http://www.samba.org/samba/docs/using_samba/ch08.html dans le les Autorisations de Fichier et les Attributs sur MS-DOS et Unix section. Il mentionne clairement de ce côté-effet:
Toutefois, il mentionne également:
Vous pouvez également lire plus sur le bit d'archive ici: http://en.wikipedia.org/wiki/Archive_bit