Here is an example of the incorrect behaviour: [root@cslinux07 test2]# getfacl /data/test2/tt.tt getfacl: Removing leading '/' from absolute path names # file: data/test2/tt.tt # owner: root # group: root user::rwx group::--- mask::rwx other::--- and after the attrib set: [root@cslinux07 test2]# getfacl /data/test2/tt.tt getfacl: Removing leading '/' from absolute path names # file: data/test2/tt.tt # owner: root # group: root user::rwx group::rwx mask::rwx other::--- You can see the problem in smbd/dosmode.c:file_chmod. file_chmod uses SMB_VFS_STAT to get the current mode bits, calculates the new mode bits, then uses SMB_VFS_CHMOD to set the new bits. The problem is that SMB_VFS_STAT returns user, mask, and other bits, but SMB_VFS_CHMOD knows that ACLS are in use and sets user, group, and other.
Created attachment 270 [details] fixes group perm bits to match acl following stat in file_chmod This patch replaces the mask bits with group permission bits by looking them up in the acl after doing a stat (which returns mask bits instead of group permission bits) before we do a chmod.
Applied the patch.
sorry for the same, cleaning up the database to prevent unecessary reopens of bugs.