[lkml]   [2009]   [Dec]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: RFC: disablenetwork facility. (v4)
    On Tue, Dec 29, 2009 at 1:36 PM, Eric W. Biederman
    <> wrote:
    > Bryan Donlan <> writes:
    >> On Tue, Dec 29, 2009 at 11:39 AM, Serge E. Hallyn <> wrote:
    >>> Quoting Bryan Donlan (
    >>>> On Tue, Dec 29, 2009 at 10:11 AM, Serge E. Hallyn <> wrote:
    >>>> > Eric, let me specifically point out a 'disable setuid-root'
    >>>> > problem on linux: root still owns most of the system even when
    >>>> > it's not privileged.  So does "disable setuid-root" mean
    >>>> > we don't allow exec of setuid-root binaries at all, or that
    >>>> > we don't setuid to root, or that we just don't raise privileges
    >>>> > for setuid-root?
    >>>> I, for one, think it would be best to handle it exactly like the
    >>>> nosuid mount option - that is, pretend the file doesn't have any
    >>>> setuid bits set. There's no reason to deny execution; if the process
    >>>> would otherwise be able to execute it, it can also copy the file to
    >>>> make a non-suid version and execute that instead. And some programs
    >>>> can operate with reduced function without setuid. For example, screen
    >>>> comes to mind; it needs root to share screen sessions between multiple
    >>>> users, but can operate for a single user just fine without root, and
    >>>> indeed the latter is usually the default configuration.
    >>> That's fine with me, seems safe for a fully unprivileged program to
    >>> use, and would make sense to do through one of the securebits set
    >>> with prctl(PR_SET_SECUREBITS).
    >>> In addition, I assume we would also refuse to honor file capabilities?
    >> Yes - essentially a one-time switch saying "never allow me to gain
    >> capabilities again".
    > That is what I was thinking.  Does setresuid case problems?  Assuming
    > the application that drop permissions could have successfully
    > called setresuid?

    It's probably reasonable to require that real == effective == saved ==
    fs UID (and same for GID); anything else brings up sticky issues of
    "which UID is a higher capability?"
    If a process does this call, it's effectively saying that the only way
    it's going to be accessing resources beyond its current UID and
    capabilities is by talking to another process over a (unix domain)
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2009-12-29 20:11    [W:0.023 / U:16.096 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site