lkml.org 
[lkml]   [2004]   [Jul]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: In-kernel Authentication Tokens (PAGs)
    Date
    On Jul 07, 2004, at 14:54, John Bucy wrote:
    > (1) processes with different UIDs can share the same keyring EX: I
    > have AFS creds (krb5 tickets) and want to run a setuid binary with
    > my creds.

    This is relatively simple under our proposed system. Multiple
    processes can be attached to a single keyring, and then the access
    rights on the keyring control the processes control over it. Since
    keys and keyrings are represented by file descriptors, there are two
    ways to gain access to a key/keyring, via a duplicate of the file
    descriptor (revokable), or (with sufficient privileges) opening a new
    file descriptor using the keyringfs filesystem.

    > (2) a number of processes with the same UID can opt not to share
    > the same keyring. EX: I want to have a bunch of xterms some with
    > administrative rights and some with normal rights.

    This is equally easy. There are several attachment points for keys
    and keyrings:
    thread
    process
    process group
    session
    UID
    GID

    If you have two processes, and you want to create keys in one that
    are inaccessible in the other, then just create a new keyring tied to
    the "process" attachment point in the first process, and embed the
    original process key-ring in it. Then you can add administrative
    keys to the new keyring, without completely giving up the old one:

    EX:
    I am an AFS admin in CELL1, but not in CELL2, and have
    different accounts in each. I have all my process' key-ring pointers
    the same, a shared key-ring in which I have my user@CELL1 and
    user@CELL2 keys. Later I decide to do admin work in CELL1,
    except I still need access to some of my files in CELL2, so in one
    of my shells, I run "key-sh" or something to get a new shell with a
    local process key-ring (It has as a child the original shared ring).
    Once I have that shell, I can add my CELL1 admin keys normally.
    When AFS searches for CELL1 keys it finds them in the topmost
    key-ring, stops, and uses the admin ones. When is searches for
    my CELL2 keys, it goes down to the shared key-ring to find them.

    Cheers,
    Kyle Moffett

    -----BEGIN GEEK CODE BLOCK-----
    Version: 3.12
    GCM/CS/IT/U d- s++: a17 C++++>$ UB/L/X/*++++(+)>$ P+++(++++)>$
    L++++(+++) E W++(+) N+++(++) o? K? w--- O? M++ V? PS+() PE+(-) Y+
    PGP+++ t+(+++) 5 X R? tv-(--) b++++(++) DI+ D+ G e->++++$ h!*()>++$ r
    !y?(-)
    ------END GEEK CODE BLOCK------


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

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