This is the mail archive of the cygwin-apps mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: 1.7 installation failed (on network drive?)


On Dec 17 14:38, Corinna Vinschen wrote:
> On Dec 17 14:09, Corinna Vinschen wrote:
> > Has the H:\cygwin17 directory been created at all?  If so, we should
> > examine the cacls for this dir just like the cacls for H:\ itself.
> > 
> > Hmm.
> > 
> > [...time passes...]
> > 
> > Hang on, there's another possible reason for STATUS_ACCESS_DENIED.
> > Mkdir_p calls NtCreateFile to create the directory with
> > STANDARD_RIGHTS_ALL rights.  This includes WRITE_DAC and WRITE_OWNER
> > rights.  Especially the last one could be a problem for a non-admin
> > user.
> > 
> > Could you please try to replace STANDARD_RIGHTS_ALL with
> > 
> >   SYNCHRONIZE | WRITE_DAC | READ_CONTROL
> > 
> > If that works, we're done.  If that doesn't work, try
> > 
> >   SYNCHRONIZE | READ_CONTROL
> > 
> > If that works, you will see failure log output from SetPosixPerms().
> > 
> > Either way, this might be the entire problem here.  If the first
> > expression works, we should be able to use it as is.  If only the
> > second expression works, we have to do some admin/non-admin conditional.
> 
> Good news.  I can finally reproduce the problem.  Digging deeper now...

It turned out that even the WRITE_DAC access can result in an access
denied error on a share if the user is not an admin user, even though
the file is owned by the creator.  This can also be observed when you
open the file's properties dialog and visit the security tab.  While you
can press the "Edit..." button (it's not grayed out) you can not edit
the DACL despite being the owner of the file.  Go figure!

I applied a patch which falls back to opening/creating the file/dir
without WRITE_DAC if the first call failed.  That's not quite optimal
but it works.  Please check out the latest from CVS and test in your
scenario.  For me it works now on the share as well as on local drives.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]