File permissions (executable) lost when sync'ed from Windows to Linux

I have a bunch of executable script files (python, bash, etc) in Linux which are executable, and the Seafile library holding them is shared among both Linux and Windows machines. If I edit the files on a Linux machine then the executable permission is preserved when sync’ed to other Linux machines - this is great.

But if I edit it on Windows, then the file loses the execute permission when sync’ed on all Linux machines. It seems the Seafile Linux client forces 644 permissions when the file was changed in Windows

setfacl doesn’t help.

Dropbox is smarter here, it does preserve local permissions, even if the file is edited under an OS that does not support said permissions. It would be great if Seafile would too.

Until then, is there any workaround? Other than a cronjob that does chmod +x ...

Although I agree with you. Why not use git for such tasks? There you have proper tracking and capabilities to follow changes.

Git is neither automatic, nor does it work very well with big files (ok there is lfs)…

I certainly don’t want git for these. Some things need to be quick to distribute to various machines. Not everything must be project-like :slight_smile: which would introduce all sort of extra hassle and wasted time in this case. I just want Seafile to preserve my executable flag when updating files!

1 Like