file permissions Linux - Windows

  1. I and syncing various Linux scripts from my Windows PC to an Ubuntu virtual machine. The files have specific permissions set in Linux, yet every time I change a file on Windows and it gets synced, the permissions are reset to non-executable. How do I tell Syncthing to respect the target permissions?

  2. I also have some folders with symbolic links on Linux. No matter how I set the Windows side, Syncthing always deletes them or complains. I tried having nothing; copy of the target file; or a sim-link on Windows.

There is an ignore permissions option in folder settings which you can use if you do not wish to copy permissions.

Symlinks are not supported on windows hence should have no effect.

Hello Audrius! I had already checked the setting to Ignore permissions. Should I uncheck it? Or perhaps I should uncheck it and set certain permissions on Windows so that Linux will mark these scripts as executable.

Files originating on Windows, such as these scripts after modification there, will not get executable permissions on Linux, sorry. The exception is files that are actually executable on Windows, such as exe files. The ignore permissions setting won’t help you in either way here.

1 Like

Wouldn’t it be more sensible to retain permissions of the existing file when receiving a file with ignore permissions set?

1 Like

Probably.

I would love to see the feature to retain target file permissions added to Syncthing! Should I post it as a feature request topic or are there people monitoring support cases who consider feature requests? Thank you for suggesting it! :slight_smile:

You should open a ticket on github, but that doesn’t mean someone will jump right on it because you need it. People work and whatever they find interesting, so if you really need this feature it’s better to open a pull request implementing it than hoping that someone will be interested in implementing it.

Hi Audrius, I’ll try the ticket. Does that mean that during my free time I can contribute something simple to this nice project? How does that work? First I have to learn some basics with Go programming. Then compile and test and finally offer a patch for someone to approve?

My humble experience includes a few bug fixes for the OpenWRT project, but that’s C an C++.

1 Like

You are very welcome to do so! Here are some instructions on how to get started building etc: https://docs.syncthing.net/dev/index.html

Here is a good place to start unravelling: https://github.com/syncthing/syncthing/blob/d91c4b010b6e01c1e544e4ffe3ed8138a56db88a/lib/model/folder_sendrecv.go#L1483

1 Like

Thank you, Jakob! :slight_smile:

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.