[Samba] samba posix_acls.c file and dir permissions

Jeremy Allison jra at samba.org
Tue Aug 10 18:06:20 MDT 2010


On Tue, Aug 10, 2010 at 07:50:47PM -0400, suresh.kandukuru at emc.com wrote:
> I did not get any response . pinging it again.
> 
> Dear samba team,
>  please help me in understanding these.
> 
> 1) in samba posix_acls.c why samba always setting the READ access for
> the file and READ and WRITE access for directory ?
> ----------
> case S_IRUSR:
> 		/* Ensure owner has read access. */
> 		pace->perms |= S_IRUSR;
> 		if (is_directory)
> 			pace->perms |= (S_IWUSR|S_IXUSR);
> 		and_bits = unix_perms_to_acl_perms(and_bits, S_IRUSR,
> S_IWUSR, S_IXUSR);
> 		or_bits = unix_perms_to_acl_perms(or_bits, S_IRUSR,
> S_IWUSR, S_IXUSR);
> 
> -----------
> 2) I have connected a samba share from the device onto my windows xp
> machine.. when I tried modify subfolder owner  write permissions , it is
> simply ignoring that and setting the write permission again. ofcourse
> acl are enabled on that share.

That's simply the way the POSIX ACL mapping is designed.
Onwers are given read (and for a directory) write access
by default. This maps what users expect, that the owner
of a file/directory always has access to it.

If you want more precise Windows ACL mapping, layer the
acl_xattr module on top of the default POSIX ACL mapping,
which will present a Windows view of the underlying ACL
mapping.

Jeremy.


More information about the samba mailing list