Re: Odd filesystem permission handling

Alan Cox (alan@lxorguk.ukuu.org.uk)
Sat, 19 Jun 1999 12:21:13 +0100 (BST)


> On Fri, 18 Jun 1999, Albert D. Cahalan wrote:
> > At one time, there was no mkdir() call. You could use mknod()
> > to get one, then add the '.' and '..' entries yourself.
> > You could freely hard link and unlink directories. If you go
> > back far enough, I think you could chmod() a file into a
> > directory. Yep, turn files into directories and back again.
>
> RTFM. Nope, you couldn't. Moreover, mkdir(2) was a separate syscall. Yes,
> it didn't create '.' and '..'. That's what mkdir(1) did after calling
> mkdir(2).

I've run V7 unix. V7 has no mkdir syscall. mkdir on V7 was a library
call that ran a setuid binary that did a mknod and then used ln to build
the links.

mkdir() the syscall is a relatively modern invention, and even then you
could use ln as root to link directories for a long time. Often the standard
ln binary prevented it but it could be done (eg SunOS)

Alan

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/