change_sacl_perms() and ACLs from Solaris to 2.6 Linux

Matt McCutchen hashproduct+rsync at
Tue Oct 3 00:56:34 GMT 2006

On 10/2/06, Andrew Gideon <c182driver9 at> wrote:
> I've found an error: ACLs are not properly preserved when a file is moved
> from Solaris to a 2.6 Linux (I'm testing using CentOS 4 update 3 plus
> updates).  This is using 2.6.8 built with the acl patch on both platforms.
> [...]
> As far as I can tell, this is setting the mask value based upon the file's
> group mode.  But I don't know why that would be desired.  So I'm not sure
> what to do to fix this problem.

Rsync expects that stat(2) on a file whose ACL contains a mask entry
will return the mask entry as the S_IRWXG mode bits.  Perhaps Solaris
returns the group-owner entry no matter what; that would explain the
trouble.  Would you please test and see if this is the case?  I notice
that says:

"Solaris ACLs are based on an earlier draft of POSIX 1003.1e, so its
handling of the mask ACL entry is slightly different than in draft 17
for ACLs with only four ACL entries. This is a corner case that occurs
only rarely, so the semantic differences may not be noticeable."

I suppose rsync will have to be creative to make transfers involving
Solaris work correctly.


More information about the rsync mailing list