Cygwin 1.7.1 breaks git on netapp shared drives

Steve Bray scbray@comcast.net
Fri Jan 29 08:42:00 GMT 2010


> On Jan 27 20:33, Steve Bray wrote:
> >  This looks similar to the December 16 thread "Cygwin 1.7 beta breaks
> >  git on Windows shares"
> >  and may be related to the thread "chmod and DOS vs POSIX paths".
> >  [...]
> >  With Cygwin 1.71, chmod fails.  For some reason "ls -l" shows no
> >  permissions.  I can create, read, write, and remove files.
>
> There's only one reason for chmod to fail.  Apparently your netapp drive
> reports to have persistent ACLs but then returns an error when trying to
> set an ACL.  It's incredible how many broken filesystems are out in the
> wild.
>
> Please run the /usr/share/csih/getVolInfo tool on the drive and
> pate the output into your reply.
>
> Did you try to strace chmod to see what happens?
>
> Last but not least, did you try to mount the drive with the noacl
> option?http://cygwin.com/cygwin-ug-net/using.html#mount-table
>
>
> Corinna

git, ls, and chmod  are functional after mounting with the noacl option 
and git correctly sets the R/O bit.

My perspective:

The permissions on the shared drive are not consistent with POSIX but 
appear to be the correct permissions to control a Windows shared drive.

My observation of managed Windows shared drives:

- Users have access as members of a group.
- This group does NOT have NTFS "Change Permission" so users can NOT 
change ACEs.
- The Windows cacls will fail to make changes.
- Cygwin 1.7 chmod will fail and git will fail (unless explicitly 
mounted as noacl).
- Cygwin 1.5 chmod and git did not fail.  It may have ignored the ACEs 
and assumed FAT/FAT32.

I would not characterize this as a broken filesystem:

- Organizations often have many shared drives and each is restricted to 
a controlled group of users.
- Access would not be controlled if any user in the group could change 
the ACEs.

This may be a typical Windows shared drive but is not a typical POSIX 
filesystem:

- Unlike POSIX, a user of this Windows shared drive can NOT change 
permissions on the files created and owned.

So I can proceed by explicitly mounting shared drives with the noacl option.

However, since acl is the default and these are common permissions on a 
shared drive, I suspect that I and others will continue to have commands 
fail.

I hesitate to propose more complication, but could it automatically 
revert to noacl (FAT/FAT32) and ignore ACEs when the user has no 
permission to change them?

Much thanks.  We now have a way to use Cygwin 1.7.

Steve



--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list