Die Codebasen, mit denen ich arbeite, werden von Git-Repositories auf meinem Linux-Rechner ausgecheckt. Da unser Produktionscode für den Einsatz unter Linux geschrieben wurde, mache ich alle Tests auf meinem Linux-Rechner, nutze aber Windows für den täglichen Gebrauch, einschließlich Code-Bearbeitung/Authoring.Dateiberechtigungen für Samba-Freigaben erhalten, wenn Datei bearbeitet wird
Zu diesem Zweck habe, habe ich eine Samba-Freigabe des Ordners (mein Home-Ordner), wo ich den Code, wie diese Kasse:
[wgrover]
path = /home/wgrover
available = yes
valid users = wgrover
read only = no
browsable = yes
public = yes
writable = yes
Allerdings, wenn ich eine Datei aus dem Bearbeiten Samba teilen \\linux-box\wgrover
in Windows, die Dateiberechtigung in Linux ändert sich weiterhin zu 755
, obwohl es 644
vor der Bearbeitung war.
Dies hält in meinem git diff
wie dies zeigt sich:
diff --git a/debian/maggie.nginx.conf b/debian/maggie.nginx.conf
old mode 100644
new mode 100755
index 7cda506..7eab574
Es ist möglich, eine create mask
in smb.conf zu setzen, aber das wird auch nicht „bewahren“ die ursprünglichen Dateiberechtigungen. Ich kann Dateimodusänderungen in git ignorieren, indem ich fileMode = false
in .gitconfig
einstelle, aber das ignoriert auch das Problem.
Gibt es eine Möglichkeit, die Dateiberechtigungen beizubehalten, wenn sie von Linux geändert werden?
meine /etc/login.defs sagt 'UMASK 022', dass relevant ist? – recognosco
@ElliottFrisch Ich habe versucht, mit dem Umask-Wert herumzuspielen, aber keinen Erfolg. Haben Sie irgendwelche Hinweise auf die Dokumentation, die Sie gesehen haben? – recognosco
@ElliottFrisch Ich weiß über Umask. Ich wollte wissen, warum denkst du, dass Umask etwas mit der Erstellung von Samba-Dateien zu tun hat und ob es irgendwelche Dokumente gab, auf die du dich beziehst. – recognosco