I have what I think is a very normal, very typical use case. I am surprised it seems (so far) that there is not a solution. I assume I am overlooking something obvious. Many people must need a solution for this use case.
Up to five different users in the same group have login accounts on one computer. They do not all log in at the same time.
Update 1: The documents are text files and spreadsheets that reside on our local server. We don't want to host documents on Google or any outside server.
We do not need real-time collaboration.
These users in the group "team" need to collaborate by reading and writing the files in a shared directory. The directory containing these files resides on a local server. The shared directory can be mounted on the client by standard Linux methods. We could use ACLs if needed because BTRFS has built-in support.
All users can log into the server via SSH using keys. The user and group ID's are the same on client and server. None of the users have sudo permissions or any other special permissions. All they have in common is membership in group "team".
The shared directory is not under any user's home directory. It is owned by the same group "team" with rwx permissions and it's path is fully accessible to all the users in "team". We can change permissions as required, but no users outside of "team" group shall be able to read or write files in this directory.
The client and server both run Arch Linux and both also run BTRFS.
We tried NFS for around ten years and we had many permissions / access problems. One of our top support issues was resolving permission problems for users. We decided to switch away from NFS because we never found a good solution for the permissions problems.
We switched to SSHFS because "we could just use normal file system permissions". So far we have not been able to achieve our simple goal stated above with SSHFS. See here and here.
We don't hear a lot of good things about Samba, so we never tried it. What else is there?
This seems to be such a common use case. How would it normally be resolved?
We don't even have a complex case. For example, all machines (servers and clients) in our network run Linux. And all machines are on a local LAN. It's simple. But I have not found a solution that will work.