LWN.net Logo

Ghosts of Unix past, part 4: High-maintenance designs

Ghosts of Unix past, part 4: High-maintenance designs

Posted Nov 24, 2010 1:07 UTC (Wed) by joey (subscriber, #328)
Parent article: Ghosts of Unix past, part 4: High-maintenance designs

My favorite consequence of suid + hard links is that the combination opens a new security hole, where a user can stash away hard links to suid binaries for later exploitation. Of course this has been worked around ad-hoc by at least some package managers clearing the suid bit of the old file when upgrading it.

I am confused by the characterisation of the linux filesystem as a DAG. I suppose that was true on unixes that could hard link directories.

The bit about suid shell scripts is a trifle misleading for linux too, as the kernel does not honor suid bits on scripts. Perl worked around this with suidperl, which proved to be problimatic; perl's taint mode has more general applications (think CGIs).


(Log in to post comments)

Ghosts of Unix past, part 4: High-maintenance designs

Posted Nov 24, 2010 1:35 UTC (Wed) by njs (guest, #40338) [Link]

> I am confused by the characterisation of the linux filesystem as a DAG

The directory tree is a, well, tree, but if you include files than hard-links make it a DAG.

If you could hard-link directories then it wouldn't be a DAG, it'd just be a DG.

Ghosts of Unix past, part 4: High-maintenance designs

Posted Nov 24, 2010 2:20 UTC (Wed) by foom (subscriber, #14868) [Link]

OSX allows you to hardlink directories, but still requires that the filesystem remain a DAG -- it prevents you from creating cycles.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds