🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.std.unix
Article #1112

Re: Standards Update (3 of 4): NBS FIPS

#1112
From: Shane P. McCarron
Date: Thu, 28 Jan 1988 03:26
52 lines
2819 bytes
From: ahby@bungia.bungia.mn.org (Shane P. McCarron)


In article <116@longway.TIC.COM> guy@sun.com (Guy Harris) writes:
>From: uunet!Sun.COM!guy (Guy Harris)
>
>This may want to be forwarded to Shane, rather than posted; unfortunately,
>I don't remember his email address.
>
>[ He's ahby@bungia.mn.org or uunet!rutgers!umn-cs!bungia!ahby,
>but this looks like a useful correction of a technical detail
>(one I missed on review) that should be posted. -mod ]
>
>        - Only the super-user shall be allowed to link or
>          unlink directories (2.10.4, lines 938 - 939).
>
>          Another useful option.  A portable application may
>          need to know whether it requires "approprite
>          privileges" to move directories around.
>
>No portable application needs "appropriate privileges" to move directories
>around; it can use "rename()".  The correct way to move anything under a POSIX
>implementation is to use "rename()", not "link()" and "unlink()".

Mea culpa, mea culpa :-) 

Of course Guy is right.  No portable application may ever require
appropriate privilege and still be portable.  Especially since that
privilege will be very hard to define (or come by) in a trusted
environment.

What I was trying to imply was that if appropriate privilege is
required to link() and unlink() directories, and an application needs
that ability for some unforseeable reason, then it should probably
fail to compile on that instance of that implementation.  

The rename() call is sufficient for changing the name of a directory, 
but is hardly sufficient for creating multiple links to the same 
directory, or some other arcane use.  It occurs to me that this may
only be possible today using symbolic links, but you get the idea.  My
advice to application developers is to not even try to write code that
requires anything that could be percieved as an option under POSIX.
If you stick to the minimal set, you will be safe.  Your application
won't do anything, but... :-)

Thanks for pointing out that rather glaring error.  I must be getting
senile.
-- 
Shane P. McCarron			UUCP: ahby@bungia.mn.org
Systems Analyst				ATT: +1 612 224-9239

Volume-Number: Volume 13, Number 10
Technical Details
Message-ID: <120@longway.TIC.COM>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!water!watmath!clyde!rutgers!rochester!cornell!batcomputer!itsgw!steinmetz!uunet!longway!std-unix
References: <116@longway.TIC.COM>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!water!watmath!clyde!rutgers!rochester!cornell!batcomputer!itsgw!steinmetz!uunet!longway!std-unix
From: ahby@bungia.bungia.mn.org (Shane P. McCarron)
Newsgroups: comp.std.unix
Subject: Re: Standards Update (3 of 4): NBS FIPS
Message-ID: <120@longway.TIC.COM>
Date: 28 Jan 88 03:26:51 GMT
References: <116@longway.TIC.COM>
Sender: std-unix@longway.TIC.COM
Reply-To: uunet!rutgers!umn-cs!quest!bungia!ahby (Shane P. McCarron)
Organization: Bugoslavian Embassy, St. Paul, MN
Lines: 52
Approved: jsq@longway.tic.com (Moderator, John S. Quarterman)