(Copy-paste from X11 primary buffer is apparently broken on sourceforge. grrrr. Anyway):
This user "person" is, apart from being in the default group "users" also in the auxiliary group "cc". She is not in the group "aa":
# grep person /etc/group team:x:1001:person cc:x:1056:person
# grep :100: /etc/group users:x:100:
# grep person /etc/passwd person:x:1135:100:Test Person:/home/person:/bin/bash
With this group cc, she has read-only access to the main share, and read-write to a subdirectory of this share:
[Share] path = /share valid users = @aa,@cc directory perm = 0770 file perm = 0660 umask = 5007 rolist = @cc [CC] path = /share/cc valid users = @cc directory perm = 0770 file perm = 0660 umask = 5000
If she uploads to the share cc where she has write-access, this here can happen:
# ls /share/cc drwxrwsrwx 9 person users 4096 Apr 20 08:35 200304 drwxrwsr-x 3 person cc 4096 Apr 20 10:37 200415
Yes, these are two directory she uploaded today.
Which group and umask will be used is completely unpredictable.
Version of netatalk is 3.1.12~ds3 from Debian/Stable.
Expexted behaviour: deterministic
Hoped for solution: Method to set a group-id for each share that will be used for setting the file permissions.
FWIW I don't think it's a good practice to have both a dir and a subdir to that dir defined as shared volumes. I think they should be kept nested separately. Do you have a real-life usecase where you actually want to nest them like this?
That said, a more deterministic behavior on netatalk's behalf is definitely preferable.