Folder permissions: win to linux

I need syncthing to create permissions for new folders like that:

at the moment new folders coming from a windows device are looking like this:

How can I change this behaviour?

Maybe try setting it not to sync permissions, and change your umask.

1 Like

What do you mean by “not to sync permissions”?

syncthing@mysyncstation:~$ umask

synchting uses the user “syncthing” with umask 0002

The default umask 002 used for normal user. With this mask default directory permissions are 775 and default file permissions are 664.


775 would be fine

In the GUI, Folder -> Edit -> check ‘Ignore Permissions’

This will let syncthing create the folders with 775?

This will most likely use whatever is defined in the umask.

Done but new folders still have the same permissions as shown in my first post.

This doesn’t happen for me, so I think your umask or ignore permissions settings are not correct.

$ umask 0002
$ umask
$ syncthing -home h2


$ ls -l s1
total 8
drwxr-xr-x  3 jb  staff  102 Jul 24 11:44 foo/
-rw-r--r--  1 jb  staff   30 Jul 24 11:44 hej

Destination, run as above, with this folder having ignorePerms="true":

$ ls -l s2
total 8
drwxrwxr-x  3 jb  staff  102 Jul 24 11:44 foo/
-rw-rw-r--  1 jb  staff   30 Jul 24 11:44 hej

what is the purpose of this command?

It starts syncthing in my test setup.

if i create a directory just with “mkdir” I have the correct permissions.

This is the option on the destination system. Anything wrong?

Setting it on the actual destination system, rather than the source, makes sure it’s in effect regardless of what the other sends. Apart from that, I guess double check that it actually uses the umask you think (perhaps you’re starting it from some script that has a different environment of something?)…

Its set on the destination. I am starting ST with systemd:

systemctl start syncthing@syncthing.service

umask is set in .profile

Does systemd read your .profile?

No idea :slight_smile: If not there can I check which umask systemd is using? I thought it should work becuase the profile determines the users umask

You can set the umask in .service files, I believe.

One of the great skills in debugging is figuring out what your assumptions are, and what’s actually fact. The risk you take is misleading everyone else…

find / -name .service

gives me now results. where should this file be located?

Probably /usr/lib/systemd/user/syncthing.service, but it depends on how it was installed.

No there is not anything called syncthing in this folder. This is how I set it up: