lkml.org 
[lkml]   [1999]   [Apr]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] Capabilities, this time in elf section

On Fri, 9 Apr 1999, Pavel Machek wrote:

> > not required to contain a section table. And please do *not* change the
> > header identification.
>
> Changing header ID is hack so that we can make executables that are
> _not_ compatible with previous kernels.

why not just make it not execute without any priviledges under older
kernels? The mechanizm could be this:

- extra section holding priviledge data, only used by newer kernels
[this is your solution], plus:

- new kernel 'fakes' a setuid root bit, so these binaries can be easily
identified even with old (priviledge-unaware) 'ls'. (The executable
bit is not touched.)

- under old kernels the binaries are still usable, but will have
sufficient rights only if you run them as root. (perfectly OK for eg.
disaster recovery and generic robustness)

- possible extra fcntl() for new kernels to further identify 'true'
setuid root binaries, and 'faked' (ie. priviledge-enabled) setuid
root binaries. new versions of 'ls' could use this fcntl(). (it's not
a performance problems, the fcnt needs only be executed for setuid
root binaries (both fake and real ones), which are rare)

- 'fake' setuid root bits are _not_ exported through networked
filesystems as a default.

i believe this plan enables us to 'smoothly' move through the migration
phase, and doesnt shut the door on older kernels either. Also it enables
us to be aware of 'dangerous' executables, is secure (no normal user can
generate a secure binary just by creating ELF sections), and doesnt export
dangerous priviledges to networked systems automatically.

anything i've missed?

-- mingo


-
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/

\
 
 \ /
  Last update: 2005-03-22 13:51    [W:0.053 / U:0.612 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site