This is the mail archive of the cygwin 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: Emulating hard links on FAT et al.


You can't expect me to just admit I was completely wrong... :)  It turns out
the only version of Unix I can remember that allowed separate permissions
for hard linked files was Apollo DomainOS.  In DomainOS, separate hidden ACL
files where used to override and extend permissions.  Because the ACL's were
stored in a separate file, the net result is each hardlink could and often
did have different permissions.   The Apollo DomainOS were truly fantastic
machines, at least ten years ahead of their times in terms of usability
features.  For example, it is the only version of Unix I know of that
allowed SYSV or BSD syntax to be selected at runtime.  Unfortunately, the
hardware itself was expensive to maintain.  The maintained contracts where
$20,000 per year per node.  So if you wonder the halls at CERN you might
still find one of the old Apollo machines, but chances are it is being used
as a coffee table or such.

The cause of my original error is I vaguely remember using the separate
permissions trick on TitanOS to avoid problems if the owner decided to
restrict a directory later.  However, I later remembered it wasn't separate
permissions on the file, but separate permissions on the file path that I
would take advantage of.

i.e.  I would do something like:
   mkdir ~/cool-program
   ln cool-program/* ~/cool-program/.

So later if the owner did something like:
   chmod go-rwx cool-program
-or-
   rm -rf cool-program

I would still be able to run the program without using up part of my disk
quota with a copy.

At the time I wrote my original post all I remembered was I used separate
permissions for hard-links to cheat quotas.  I didn't remember that it was
the separate permissions on the path, not the file, that I used.

                                      Bill


----- Original Message ----- 
From: "Dennis McCunney" <dmccunney@nyc.rr.com>
To: "'Bill C. Riemers'" <docbill@freeshell.org>
Sent: Tuesday, April 20, 2004 11:10 PM
Subject: RE: Emulating hard links on FAT et al.


> > -----Original Message-----
> > From: cygwin-owner@cygwin.com
> > [mailto:cygwin-owner@cygwin.com]On Behalf
> > Of Bill C. Riemers
> > Sent: Tuesday, April 20, 2004 5:37 PM
> > To: cygwin@cygwin.com
> > Subject: Re: Emulating hard links on FAT et al.
> >
> > I stand corrected.  Only some flavors of Unix allow hardlinks to carry
> > separate permissions.  I imagine the list of UNIX platforms which
support
> > this *feature* have greatly reduced in recent years since this trick was
> > commonly used to cheat quota systems.
>
> Er, what versions did this?  I've dealt at one time or another with AT&T
> Systen V Release 2, 3, and 4, in ports for Intel, Motorola, and WE32000
> CPUs, SunOS on SPARC, IBM's AIX on RS/6000, Red Hat and Suse Linux on
Intel,
> and Solaris 7, 8, and 9.
>
> None of them allowed seperate permissions on different hard links to a
file.
>
> Given the way hard links are implemented (and Corrina has it exactly
right),
> I don't believe it's *possible*.  A link is simply a pointer to an inode,
> where the actual permissions are stored, and links to the same inode
*must*
> carry the same permissions.
>
> I suppose someone could hack a *nix kernel to store seperate permissions
> entries for each hard link to an executable, but I've never heard of it
> being done.
>
> Pointers, please?
> ______
> Dennis
>



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


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