NTFS write-protect flag translation (tar? rsync?) only one-way?

Christian Gelinek cgelinek@radlogic.com.au
Wed Apr 6 06:16:00 GMT 2011


-----Original Message-----
From: Cygwin On Behalf Of Larry Hall (Cygwin)
Sent: Wednesday, 6 April 2011 1:20 AM
Subject: Re: NTFS write-protect flag translation (tar? rsync?) only one-way?

> On 4/5/2011 3:36 AM, Christian Gelinek wrote:
> > Hi everyone,
> >
> > I have a problem with the tar command with the "extract permissions
> > information" option being set.
> >
> > I am running Cygwin (CYGWIN_NT-6.1-WOW64 1.7.8(0.236/5/3) 2011-03-01 09:36)
> > under Windows 7 (Windows 7 Professional N Ver 6.1 Build 7600) with NTFS and
> > the CYGWIN=ntsec environment variable.
> >
> > It appears that when tar reads files for adding to archives, it correctly
> > interprets the Windows-set "R" attribute, which is also seen by ls under
> > Cygwin. After extracting the files using tar though, only Cygwin's ls
> > command seems to be aware of the read-only attribute; the attrib command (as
> > well as Explorer and other Windows-apps) see and handle the file as being
> > writeable.
> 
> The read-only attribute is a "Windows" thing.  Cygwin's utilities focus on
> supporting POSIXy/Linuxy ways of doing things.  You can't expect Cygwin's
> tools to manage all of Window's permission facilities in the same way as
> Windows does.  The read-only flag is one case where you'll see a divergence.
> If you need that flag set, you'll need your own wrapper to set it based on
> the POSIX (or ACL) permissions.  The read-only attribute really is quite
> anachronistic though IMO.  It conflicts with the more powerful ACLs.  If
> you have the option, it's better not to use that flag.

IMO the behaviour is inconsistent if the flag is used/interpreted on one (the read) operation but NOT being written/changed on the other (write) operation. My approach would be either drop it completely or support it on both ends (the preferred option). By the looks of it 
(see http://sourceware.org/ml/cygwin/2002-05/msg00317.html), this problem has been addressed and potentially solved before, so I wonder if something is broken here.

The background to all this is that I am using RCS (I know, almost as anachronistic as the read-only attribute, but that's dictated by my workplace) under both Windows and Linux and RCS relies heavily on the read-only attribute of files to be correct. IMO, it wouldn't hurt if the Cygwin tools would write the Windows read-only attribute when they create a Cygwin read-only file?

Regards,
Christian



--
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