User in multiple groups; how are permissions determined?


#1

Situation:

  • A user is a member of groups X and Y
  • A library is shared with group X (read only) and group Y (read and write)

How are the user’s permission for this library determined?
As far as I can tell from testing, the user can only read. Is that expected behaviour?


#2

The user should have read and write permission to the library.


#3

Thanks for confirming the expected behavior.

After some further testing, it appears that permissions are as expected when using Seahub, but they aren’t correct when using the Drive Client (permissions for the respective directory in “Shared with groups” are read-only, as mentioned in the original post). Anything I can do to fix that?

Using Seafile Server 6.3.4 CE and Seafile Drive Client 1.0.1 for macOS.

Edit: It’s more complicated than that. The API calls from the Drive Client look fine and after clearing the local cache, the permissions for the aforementioned library are correct. Turns out in the old cache, there was a flag called “is-readonly” for the affected library in the table “RepoProperty” of repo.db. Maybe this flag wasn’t properly removed when library permissions were changed?