[6114] in Release_7.7_team

home help back first fref pref prev next nref lref last post

Re: Reworking liblocker

daemon@ATHENA.MIT.EDU (Ken Raeburn)
Thu Dec 4 19:45:01 2008

From: Ken Raeburn <raeburn@MIT.EDU>
To: Bill Cattey <wdc@mit.edu>
In-Reply-To: <1228427212.32231.41.camel@cheshire-cat.mit.edu>
Message-Id: <9F61FD34-DDBF-4E0A-B0BA-78EAFC7635FA@mit.edu>
Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes
Content-Transfer-Encoding: 7bit
Mime-Version: 1.0 (Apple Message framework v929.2)
Date: Thu, 4 Dec 2008 19:44:15 -0500
Cc: release-team@mit.edu, morzinski@mit.edu, ghudson@mit.edu, athena10@mit.edu
X-Spam-Flag: NO
X-Spam-Score: 0.00

On Dec 4, 2008, at 16:46, Bill Cattey wrote:
> I am concerned that if we change attach to infer a mount point from a
> location that we're throwing away an important part of the Hesiod
> abstraction that enables us to separate filesystem location from mount
> point.

Actually, the file system's source location (nfs host:path, afs path)  
is still separate -- as I understand the proposal, the mount point and  
Hesiod name become tied together, but for example /mit/x11r12 --  
Hesiod name "x11r12" -- could map to NFS volume gobbledygook.mit.edu:/ 
u1/moviefone if that's what the creator of the hesiod data wanted to  
set up.

And we've thrown away "important" things before as the technology  
changed; when AFS showed up, "-w" and "-r" stopped being reliable,  
"detach" didn't really make things go away, remote login sessions  
couldn't necessarily access things you'd attached from the console, etc.

> In hallway chat, broder made the point that /mit as implemented in
> debathena is really an abstract filesystem used as an access point for
> filesystems accessed by attach.  If I understand the fuse  
> implementation
> correctly, we're leveraging simple stock issue code to get 80% of the
> user-visible functionality of attach.

Cool!  Are we going to get sshfs and encfs as standard parts of Athena  
10?  I've been using them for a while now on my Mac, and they're  
*very* nice.

> Hesiod/attach was originally a particular triple:

Well, a mapping from a name to a tuple...

> Type	Location	Mount Point

... which mount point can be overridden by the user of attach; and a  
read/write/no-auth flag that can also be overridden, and which is of  
limited use with AFS.

> Type enabled rich parsing of location and mount point names.

Did the file system type actually have anything to do with handling of  
the mount point name?  (How the mount is done -- create a directory  
and call mount() vs create a symlink -- sure, but processing the name?)

> Presumably FUSE and other auto-mounter technology is rich enough  
> that we
> can support more than just AFS mounts if there is compelling reason to
> in future.  (In my ignorance, maybe it already does.)

Pretty easily, from what I've read, but I haven't tried using the  
automounting tools.

> In the early days when attach was used to mount system packs served up
> in byte-order dependent remote virtual disk packs, with server-imposed
> limitations on names, there was compelling need to de-couple name from
> mount point.  Jacob's analysis of present usage shows that there is  
> only
> a minority of lockers using this de-coupling, and this thread has  
> worked
> around to asking the question, "Is there compelling need to continue
> offering this de-coupling?"

It sounds like the most common use recently has been for providing  
different versions of OS software based on the requested name, always  
mounted at the same point.  And that's not going to be relevant to  
Athena 10.

> For now, I'd feel more comfortable keeping the attach -m option, and  
> in
> having the Athena 10 implementation pull the mount point from the  
> filsys
> tuple if it can be done without a lot of code, and if it isn't a  
> serious
> security compromise.

The way it's done now is already a security issue.  After all, if I  
can spoof your workstation's DNS query with a fake record that maps  
wdc.filsys.ns.athena.mit.edu to AFS path /afs/raeburn.org/h4x0r/wdc,  
you may notice something's gone wrong, but probably not before your  
login session has begun, under my control....

Our standard attach.conf restricts where the local mount points can be  
set, and I'm not sure but I think that includes mount points derived  
from Hesiod data (it certainly should!), so the damage to local host  
security can be reduced, but the user is at the mercy of network  
spoofing tools.

Ken

home help back first fref pref prev next nref lref last post