mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Valdis.Kletnieks@vt.edu
To: Marc Perkel <mperkel@yahoo.com>
Cc: Phillip Susi <psusi@cfl.rr.com>,
	Kyle Moffett <mrmacman_g4@mac.com>,
	Michael Tharp <gxti@partiallystapled.com>,
	alan <alan@clueserver.org>,
	LKML Kernel <linux-kernel@vger.kernel.org>,
	Lennart Sorensen <lsorense@csclub.uwaterloo.ca>,
	valdis@turing-police.cc.vt.edu
Subject: Re: Thinking outside the box on file systems
Date: Wed, 15 Aug 2007 17:20:37 -0400	[thread overview]
Message-ID: <21905.1187212837@turing-police.cc.vt.edu> (raw)
In-Reply-To: Your message of "Wed, 15 Aug 2007 13:50:17 PDT." <920558.27414.qm@web52504.mail.re2.yahoo.com>

On Wed, 15 Aug 2007 13:50:17 PDT, Marc Perkel said:
> I don't see it as being any worse that what we have
> now. To open a file you have to start at the bottom
> and open each directory and evaluate the permissions
> on the way to the file. In my system you have to look
> up the permission of the string at each "/" separator.
> Seems to me that every system would have these same
> steps.

No - you need to look at the *whole* string - that's the
whole *point* of your system, remember?

Just a few msgs back, you gave a nice example of
having a file with \ in the name rather than / because
it came from a Windows user. So you *do* need to check *every*
pattern against the filename, because it *could* match.
In a system with several hundred thousand or more patterns,
that could be painful.

Also, you need to figure out how to deal with all the various
silly corner cases that people will end up trying to do.

Consider the rules:

peter '*a*' can create
peter '*b*' cannot create

Peter tries to create 'foo-ab-bar' - is he allowed to or not?

For an exersize, either write a program or do by hand:

Create a list of patterns that correctly express the ownership
and permissions of *every* file on your current Linux box.

Then repeat on a large box with multiple users and a few Oracle
databases or webservers.

Then write a small tool, that given that list, a username,
a filename, and the operation (read, write, open, unlink, etc),
says "Yes or No".

Then run 'strace /bin/ls' in a large directory, take all the
filenames listed in the strace output, and see if your tool can
answer "yes or no" fast enough to make 'ls' feasible.

Come back when you get that part done, and we'll discuss how it
would have to work in the kernel.

  reply	other threads:[~2007-08-15 21:21 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-14 22:45 Marc Perkel
2007-08-14 22:51 ` alan
2007-08-15 13:02   ` Michael Tharp
2007-08-15 13:30     ` Lennart Sorensen
2007-08-15 13:53       ` Kyle Moffett
2007-08-15 15:14         ` Michael Tharp
2007-08-15 16:36           ` Marc Perkel
2007-08-15 17:17             ` Kyle Moffett
2007-08-15 17:30               ` Marc Perkel
2007-08-15 18:22                 ` Craig Ruff
2007-08-15 20:35                   ` Marc Perkel
2007-08-16 11:27                     ` Helge Hafting
2007-08-15 16:02         ` Marc Perkel
2007-08-15 16:57           ` Valdis.Kletnieks
2007-08-15 17:09             ` Marc Perkel
2007-08-15 17:22               ` Kyle Moffett
2007-08-15 17:34                 ` Marc Perkel
2007-08-18 23:27                   ` Alan
2007-08-18 23:26                 ` Alan
2007-08-19  2:03                   ` david
2007-08-19  2:57                     ` Al Viro
2007-09-01 23:20                       ` Oleg Verych
2007-08-15 19:20               ` Lennart Sorensen
2007-08-16 23:12               ` H. Peter Anvin
2007-08-15 16:58           ` Kyle Moffett
2007-08-15 17:19             ` Marc Perkel
2007-08-15 17:37               ` Kyle Moffett
2007-08-15 17:59                 ` Marc Perkel
2007-08-15 19:26                   ` Lennart Sorensen
2007-08-15 20:11                     ` Kyle Moffett
2007-08-15 20:44                       ` Marc Perkel
2007-08-15 21:04                         ` Lennart Sorensen
2007-08-16 11:42               ` Helge Hafting
2007-08-16 12:09                 ` linux-os (Dick Johnson)
2007-08-15 17:34         ` Phillip Susi
2007-08-15 17:53           ` Kyle Moffett
2007-08-15 18:05             ` Marc Perkel
2007-08-15 18:14               ` Kyle Moffett
2007-08-15 20:20                 ` Marc Perkel
2007-08-15 20:43                   ` Phillip Susi
2007-08-15 20:50                     ` Marc Perkel
2007-08-15 21:20                       ` Valdis.Kletnieks [this message]
2007-08-15 22:48                         ` Marc Perkel
2007-08-16  3:42                           ` Valdis.Kletnieks
2007-08-15 20:38             ` Phillip Susi
2007-08-15 21:17               ` Kyle Moffett
2007-08-15 22:14                 ` Phillip Susi
2007-08-16  4:44                   ` Kyle Moffett
2007-08-16 15:09                     ` Phillip Susi
2007-08-16 15:29                       ` Valdis.Kletnieks
2007-08-16 17:28                         ` Phillip Susi
2007-08-16 17:31                           ` Valdis.Kletnieks
2007-08-16 22:03                             ` Phillip Susi
2007-08-16 23:17                       ` Kyle Moffett
2007-08-17  4:24                         ` Marc Perkel
2007-08-17  4:52                           ` Valdis.Kletnieks
2007-08-17 15:19                         ` Phillip Susi
2007-08-17 15:39                           ` Valdis.Kletnieks
2007-08-17 19:01                             ` Phillip Susi
2007-08-18  5:48                               ` Kyle Moffett
2007-08-18 16:45                                 ` Marc Perkel
2007-08-18 18:19                                   ` Al Viro
2007-08-19  4:07                                     ` Marc Perkel
2007-08-20  7:05                                       ` Nix
2007-08-20  7:47                                         ` Brennan Ashton
2007-08-20 11:18                                           ` Marc Perkel
2007-08-20 13:32                                             ` linux-os (Dick Johnson)
2007-08-20 15:25                                             ` Lennart Sorensen
2007-08-20 15:26                                             ` Helge Hafting
2007-08-20 19:52                                               ` Nix
2007-08-20 16:21                                             ` [OT] " Randy Dunlap
2007-08-20 16:20                                               ` Xavier Bestel
2007-08-20 14:29                                       ` Phillip Susi
2007-08-20 15:13                                       ` Lennart Sorensen
2007-08-20 14:24                                 ` Phillip Susi
2007-08-15 22:40                 ` Marc Perkel
2007-08-15 17:54           ` Marc Perkel
2007-08-15 17:02   ` Marc Perkel
2007-08-15 17:30     ` Michael Tharp
2007-08-15 17:51       ` Marc Perkel
2007-08-15 20:02 ` Yakov Lerner
2007-08-15  7:49 Tim Tassonis
2007-08-15 18:23 Brian Wheeler
2007-08-20 11:54 Tim Tassonis

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=21905.1187212837@turing-police.cc.vt.edu \
    --to=valdis.kletnieks@vt.edu \
    --cc=alan@clueserver.org \
    --cc=gxti@partiallystapled.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lsorense@csclub.uwaterloo.ca \
    --cc=mperkel@yahoo.com \
    --cc=mrmacman_g4@mac.com \
    --cc=psusi@cfl.rr.com \
    --cc=valdis@turing-police.cc.vt.edu \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®