From: Hans Reiser <reiser@namesys.com>
To: George Beshers <gbeshers@comcast.net>
Cc: David Dabbs <david@dabbs.net>, reiserfs-list@namesys.com
Subject: Re: viewprinting: what format should views be stored in?
Date: Wed, 18 Aug 2004 14:48:01 -0700 [thread overview]
Message-ID: <4123CE91.4090007@namesys.com> (raw)
In-Reply-To: <4123CDB3.2010506@comcast.net>
George Beshers wrote:
>
>
> Hans Reiser wrote:
>
>> George Beshers wrote:
>>
>>>
>>> David Dabbs wrote:
>>>
>>>> In the original proposal posted to the list Hans (I think) referred
>>>> to viewprinting as "chroot on steroids." Let's assume that the mask
>>>> creation tools deliver on making viewprint creation and
>>>> maintainance very easy/painless for admins. In what way will
>>>> viewprinting be more secure than chroot?
>>>>
>>>>
>>> Basically, chroot as I at least normally use it, has a lot of
>>> baggage in terms of
>>> disk consumption that we are planning to avoid by creating a view
>>> rather than
>>> a copy.
>>
>>
>>
>> Chroot lacks fall through points.
>
>
> Other than saving disk space is this important?
It is different.
>
> Are you thinking about multiple processes, with different views, but
> sharing a few "resources", i.e., files of one form or another as part of
> a long term vision?
Yes, but chroot can also do that.
>
>>
>>>
>>>> Hans, in your preferred approach you referred to "a format that is
>>>> as if it is a subdirectory of the masked executable." Did you have
>>>> in mind checking for something like /usr/bin/fooprocess/metas/mask
>>>> when exec() loads the exe, and if this exists then the files rooted
>>>> in this directory would be set as the process's root filesystem?
>>>>
>>>> Are masks capable of explicit exclusion as well as inclusion?
>>>> If the answer is 'Yes,' then what are your thoughts as to how this
>>>> might be accommodated when your main tool is reiser4's semantic
>>>> tree layer? Inclusion would be straightforward -- if the directory
>>>> exists or the name exists within the directory then fall through.
>>>> But exclusion? If you are limited to the semantic layer, then
>>>> there's no stat node with which to play tricks.
>>>
>>>
>>> I think the correct answer is "anything not explicitly included is
>>> excluded"
>>> or on the other side of the looking glass "anything not explicitly
>>> excluded
>>> is included".
>>>
>>> As a user friendly interface both should be supported and the
>>> "compilation"
>>> layer handle the conversion.
>>>
>>> Maybe I am not understanding the question.
>>
>>
>>
>> clearcase has an exclude operation for its view specifications.
>>
> I don't remember it being more than the boolean complement of
> a (potentially much more complex) include operation.
>
> So good UI point but I don't think extends the semantics?
exclude is a semantic feature.
>
>
>>>> I wonder if it would be feasible if masks only specified
>>>> exclusions? If, for instance, the mask wanted to exclude /foo/*,
>>>> then the directory foo would exist (in the mask semantic tree). To
>>>> exclude /etc/passwd, passwd would exist in the directory /etc.
>>>> Since you're already going to need to preempt dcache searches
>>>> (aren't you?) you can insert a search of the mask tree. If the
>>>> search fails, then it is not excluded and the request falls through
>>>> to normal VFS handling. In the /etc/passwd case above, it would
>>>> find /etc/passwd and so the file is excluded. Processing would stop
>>>> there, returning some error. How does this sound? I need to sleep
>>>> on this, because it is very late here.
>>>>
>>>>
>>> At this time I think feasible is true and useful is an open question.
>>>
>>> To address the useful I find that known/desirable use-case scenarios
>>> get the most discussion.
>>>
>>> To give a couple of examples:
>>> 1) A given process (say a restricted shell) can not exec() an
>>> executable with the set-uid bit on.
>>> - directly
>>> - indirectly (e.g., via bash)
>>> 2) Apache can only create/write files in /var/web/incoming.
>>> - files created or modified can not have any execute bit
>>> set and executing chmod is excluded.
>>
>>
>>
>> this protection happens while traversing the mask or at the fall
>> through point. Hmmm, we need to accumulate a set of permissions that
>> apply to something that are specific to how we got there. That could
>> be complex in the VFS details. We can defer it to Phase II if
>> necessary. George, you should spend a day (not this week) figuring
>> out how much work it would be to make that work. It will be the
>> details of it that will be dangerous....
>>
> OK.
>
>
>
next prev parent reply other threads:[~2004-08-18 21:48 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-18 7:52 viewprinting: what format should views be stored in? 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 [this message]
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
-- strict thread matches above, loose matches on Subject: below --
2004-08-22 5:45 David Dabbs
2004-08-21 20:48 David Dabbs
2004-08-21 7:38 David Dabbs
2004-08-21 8:59 ` Hans Reiser
2004-08-20 22:29 David Dabbs
2004-08-20 17:14 David Dabbs
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-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-16 0:15 Hans Reiser
2004-08-16 1:48 ` George Beshers
2004-08-16 2:02 ` Hans Reiser
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
[not found] ` <4121F4D6.8090506@comcast.net>
2004-08-17 19:43 ` Hans Reiser
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=4123CE91.4090007@namesys.com \
--to=reiser@namesys.com \
--cc=david@dabbs.net \
--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.