Multi-user sync with file ownership and permissions


#1

Assuming no progress has been made since it was last discussed, can I ask to re-open and upvote the discussion (previous thread Sync file ownership and permissions) on “proper” multi-user syncing, supported by a single instance of Syncthing.

My use case isn’t remarkable. I have 4 or 5 PCs at home, plus a Debian server and a little old NAS box now used only for backups.

I want to maintain at least 3 copies of each users personal files, one on the server, on on the PC they use most, and a 3rd redundant copy. I also have a library of shared material (software, images etc.) I want to replicate across multiple machines.

I had hoped Synthing would be multi-user aware. The prospect of installing and configuring 20 or 30 separate point to point instances for each connection in this loose “mesh”, and trying to manage the permissions is not appealing.

I realise this means having at least part of the server running as root (or the equivalent on Windows), and mapping between Windows and Linux permissions, all of which is a pain to get right. However it’s not unique to Syncthing.

Samba for example has to solve exactly the same set of problems, and it does so by running the master server daemon as root, and then spawning a separate process for each user when that user ID connects. This might not perform brilliantly for the guys trying to support hundreds of users off one box, but for small and medium networks it should be fine.

I really hope this can be put on the Syncthing roadmap, because without it i’m either going to have to try to come up with some kind of bodge (kludge) for my server, like putting all user files in a “synthing” group, and having a cron job running chmod-R regularly to fix up the user permissions, or give up and carry on looking for a different solution.


(Audrius Butkevicius) #2

Sadly, nobody is interested in solving this. It’s a hard problem to solve.


(Jakob Borg) #3

There is a GitHub issue: #1329.

As mentioned, this is quite hard and a lot of work to get right.