All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hans Reiser <reiser@namesys.com>
To: George Beshers <gbeshers@comcast.net>
Cc: ReiserFS List <reiserfs-list@namesys.com>
Subject: Re: viewprinting: what format should views be stored in?
Date: Sun, 15 Aug 2004 19:02:56 -0700	[thread overview]
Message-ID: <412015D0.8030806@namesys.com> (raw)
In-Reply-To: <41201252.1080803@comcast.net>

George Beshers wrote:

>
> First a little (*/tentatively/*) suggested terminology---translation 
> of (/tentatively/) I stand
> behind it until I begin to suspect I've made a mistake and then I 
> change sides ;-) :
>
> 1) A *mask *consists of a set of *prescriptions *(trying to avoid 
> rule) which defines a
>    / subset/ of permissible functionality for a file system.
>
> 2) The *permissible functionality *of a file system is roughly 
> speaking, the ACLs
>     for all the objects in the file system.
>
>     Actually, I think this is a good place to start, because the type 
> "permissible
>     functionality" is in fact what the mask is applied to and what is 
> returned.
>    Grant you evaluation is done lazily as the execution of an 
> application requires it.
>
Yes.

> 3)  A user and group instantiated mask forms an *operational set of 
> functionality*.
>
>      What is important here is to recognize that a given executable 
> may have
>      different apparent functionality based on who is running it.

I think not in our particular niche.  We do process oriented security, 
and that is all for now.  Later we can make it more complex.

>
>      To make this concept clearer, consider the possibility that group 
> write access
>      to a file might be elided (masked away) by the some prescription 
> for a user
>      who otherwise might have add access---but the user's privileges 
> are limited
>      by the executable.
>
>
>
> Hans Reiser wrote:
>
>> It is very important that we have something simple that reuses code 
>> for this purpose, and it also needs to be scalable.  That is, we need 
>> to be able to determine in insignificant time whether a file passes 
>> through a mask consisting of a million files.
>
> A million files or a million rules

filenames actually.

>   A single rule may give access to a million files and
>     require only constant time to evaluate.
>
>> One approach would be to use a format similar to that for chroot, 
>> that is, to keep the format we use for directory trees now, and use 
>> it for storing the mask.  This raises the question: how would the 
>> format for the mask differ from that of the underlying filesystem.
>>
>> Another approach is to use stem compressed names, or some other 
>> unique within the fs format for the mask.
>
> Can you elaborate on this for a newbie

fired
fireman
fireplace
get stored as
fired
!4man
!4place
if we use classic stem compression, if we use a tree that branches where 
the names diverge (I forget, is that a radix tree or?) then we have 
another structure.

>>
>> We need to be able to support specifying a mask that allows any file 
>> within a given directory to be visible.  That is, we need to support 
>> dirname/* but we don't yet need to support dirname/foo.*
>
> NB.  Hans and I had discussed limiting access to 'hidden files' 
> informally:  '..' in particular needs some
> special attention although it would be best not to have a special case 
> if we can avoid it.

We can treat .. the same as we treat symboplic links.

>>
>> We probably don't want to allow symbolic links to be followed unless 
>> where they point to is within the mask.
>
> Agreed.
>
>> I want minimal code but I want it to be treelike in its performance 
>> scalability.
>>
>> Ideas?
>
> Well, for the moment only more questions:
>
> Suppose we have a file system and a mask.  If we were to create a 
> chroot by copying just
> the file system 

semantic tree (not files, just filenames)

> accessible through the mask and run the application in that environment
> would the semantics of running the application on the original file 
> system with the mask
> by equivalent.  By equivalent I mean no observable difference in the 
> instructions executed
> at the user level or the output generated.

No, because new files might be made visible through the mask without the 
new file creator even being aware that there was a mask.

>
> Does the question make sense?
>


  reply	other threads:[~2004-08-16  2:02 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-08-16  0:15 viewprinting: what format should views be stored in? Hans Reiser
2004-08-16  1:48 ` George Beshers
2004-08-16  2:02   ` Hans Reiser [this message]
2004-08-16 13:47     ` George Beshers
2004-08-16 19:50     ` George Beshers
2004-08-17  7:07       ` Hans Reiser
2004-08-17 19:29         ` George Beshers
2004-08-17 20:28           ` Hans Reiser
2004-08-17 23:46             ` George Beshers
2004-08-18  2:22               ` Hans Reiser
2004-08-18  2:37                 ` viewprinting: what format should views be stored in? (let me quickly correct an imprecision) Hans Reiser
     [not found]         ` <4121F4D6.8090506@comcast.net>
2004-08-17 19:43           ` viewprinting: what format should views be stored in? Hans Reiser
  -- strict thread matches above, loose matches on Subject: below --
2004-08-18  7:52 David Dabbs
2004-08-18 18:37 ` David Masover
2004-08-18 21:47   ` George Beshers
2004-08-18 19:20 ` George Beshers
2004-08-18 20:20   ` Hans Reiser
2004-08-18 21:44     ` George Beshers
2004-08-18 21:48       ` Hans Reiser
2004-08-18 23:18         ` George Beshers
2004-08-19  0:42           ` Hans Reiser
2004-08-19  2:01             ` George Beshers
2004-08-19  5:50               ` Hans Reiser
2004-08-19 12:48                 ` George Beshers
2004-08-20  6:59                   ` Hans Reiser
2004-08-20 12:36                     ` George Beshers
2004-08-20 18:14                       ` Hans Reiser
2004-08-20 21:42                         ` George Beshers
2004-08-18 19:34 ` Hans Reiser
2004-08-19  7:40 David Dabbs
2004-08-19 11:21 ` David Greaves
2004-08-19 16:16   ` George Beshers
2004-08-20  6:19     ` Hans Reiser
2004-10-26 14:45       ` Lamont R. Peterson
2004-10-26 16:39         ` Hans Reiser
2004-10-26 16:57           ` George Beshers
2004-10-26 18:37             ` Hans Reiser
2004-10-26 20:20               ` George Beshers
2004-10-27  4:48                 ` Hans Reiser
     [not found]   ` <4124D09A.1060208@comcast.net>
2004-08-19 17:31     ` David Greaves
2004-08-20  6:52       ` Hans Reiser
2004-08-20 12:08         ` George Beshers
2004-08-20 14:07         ` David Greaves
2004-10-26 15:54         ` Lamont R. Peterson
2004-10-27  1:04           ` David Masover
2004-08-20  6:13   ` Hans Reiser
2004-08-19 14:30 ` George Beshers
2004-08-20  7:23 David Dabbs
2004-08-20 16:10 ` Valdis.Kletnieks
2004-08-20 21:04   ` George Beshers
2004-08-21  6:42     ` Hans Reiser
2004-08-20 17:14 David Dabbs
2004-08-20 22:29 David Dabbs
2004-08-21  7:38 David Dabbs
2004-08-21  8:59 ` Hans Reiser
2004-08-21 20:48 David Dabbs
2004-08-22  5:45 David Dabbs

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=412015D0.8030806@namesys.com \
    --to=reiser@namesys.com \
    --cc=gbeshers@comcast.net \
    --cc=reiserfs-list@namesys.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.