[Samba] Permissions incorrectly ordered on Windows after disabling inheritance

Jeremy Allison jra at samba.org
Thu Aug 30 17:52:08 MDT 2012


On Thu, Aug 30, 2012 at 05:09:10PM -0600, Walkes, Dan wrote:
> On Wed, Aug 29, 2012 at 21:45:24, Jeremy Allison wrote:
> > On Fri, Aug 24, 2012 at 11:08:53AM -0600, Walkes, Dan wrote:
> > > Hi everyone,
> > >
> > > I've noticed a problem with Debian wheezy + samba 3.6.6 configured 
> > > with acl_xattr in my configuration.  The following test sequence 
> > > causes Windows Explorer to report incorrectly ordered permission
> entries:
> > > 1)	Map a share as with "admin" user credentials  to a drive letter
> > > on a Windows client
> > > 2)	Create a folder at the root of the share "rootfolder"
> > > 3)	Create a subfolder "subfolder1" under "rootfolder"
> > > 4)	Un-check "Include inheritable permissions from this object's
> > > parent" in the windows security settings dialog for Windows Explorer
> 
> > > on the root folder
> > > 5)	Create a subfolder "subfolder2" under "subfolder1"
> > > 6)	Right-click with Windows Explorer and attempt to edit the
> > > permissions of "subfolder2".  Windows Explorer pops up a message 
> > > stating "The permissions on subfolder2 are incorrectly ordered, 
> > > which may cause some entries to be ineffective."
> > 
> > FYI, the complete and correct fix for this ifor 3.6.next s now
> attached to bug :
> > 
> > https://bugzilla.samba.org/show_bug.cgi?id=9124
> > 
> > as a patch. Please test (it fixes the problem here). Thanks for 
> > reporting this, the same code will go into master as soon as I've 
> > finished wrestling with autobuild :-).
> > 
> 
> Thanks Jeremy.  I've tested today.  I can confirm it fixes the incorrect
> ordering issue and sequence 1-6 works for me.  I can also confirm that
> after removing inheritance on a root folder from windows the I flag is
> set for all permissions on subfolders as expected.  I did notice however
> that in my case if I never modify permissions or change permissions from
> Windows Explorer the I flag is still not set on inherited permissions,
> at least with my configuration. 

Actually this is what you'd expect with a security descriptor
type of : CONTROL:0x8004

(SEC_DESC_SELF_RELATIVE          = 0x8000|
 SEC_DESC_DACL_PRESENT           = 0x0004).

On Windows you'll probably have :

CONTROL:0x8404

(SEC_DESC_SELF_RELATIVE          = 0x8000|
 SEC_DESC_DACL_AUTO_INHERITED    = 0x0400|
 SEC_DESC_DACL_PRESENT           = 0x0004).

which explains the difference. If you set a security
descriptor on rootfolder/ from the Windows client and
end up with CONTROL:0x8404, then whenever you create
subfolders/files below that you'll see the "INHERITED"
bit (that's what the patch solves).

Jeremy.


More information about the samba mailing list