diff -ruN source.orig/smbd/posix_acls.c source/smbd/posix_acls.c --- source.orig/smbd/posix_acls.c 2007-11-15 04:15:04.000000000 +0100 +++ source/smbd/posix_acls.c 2007-11-20 16:39:11.000000000 +0100 @@ -3243,6 +3243,9 @@ * Append u/g/w. */ + /* We do not append these parent permissions, because they always cause + * user, group and world to have read access. + * It might be incorrect or inappropriate to not add these, however. status = append_ugw_ace(fsp, psbuf, unx_mode, S_IRUSR, &new_ace[i++]); if (!NT_STATUS_IS_OK(status)) { return status; @@ -3255,6 +3258,7 @@ if (!NT_STATUS_IS_OK(status)) { return status; } + */ /* Finally append any inherited ACEs. */ for (j = 0; j < parent_sd->dacl->num_aces; j++) {