Skip to content
Snippets Groups Projects
  • Stephen Smalley's avatar
    a833763b
    Enable per-user isolation for normal apps. · a833763b
    Stephen Smalley authored
    
    Add levelFrom=user to the entries for apps other than those
    that run in the predefined platform UIDs (e.g. system, nfc, radio, ...).
    This causes libselinux to assign a per-user category set computed from
    the user ID portion of the Linux UID to each app process and its
    /data/data/<pkgdir> or /data/user/N/<pkgdir> directory.  These
    per-user category sets can be seen in the last field of ps -Z output for
    apps and ls -Z /data/data or /data/user/N output for the package
    directories.
    
    With this applied, apps running on behalf of one user cannot read
    or write files created by apps running on behalf of another user,
    even if the file is world-readable or -writable.  Similar isolation is
    enforced over process interactions (including /proc/pid file access),
    local socket communications, and System V IPC, as expressed in the
    set of constraints defined in the mls configuration.  At present,
    Binder IPC is not restricted by the mls configuration; if desired,
    there is a constraint in the configuration that can be uncommented
    to also apply isolation on direct binder IPC, although communication
    will still be possible indirectly via the system_server.
    
    Bug: 13507660
    Change-Id: I3972f846ff5e7363799ba521f1258d662b18d64e
    Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
    a833763b
    History
    Enable per-user isolation for normal apps.
    Stephen Smalley authored
    
    Add levelFrom=user to the entries for apps other than those
    that run in the predefined platform UIDs (e.g. system, nfc, radio, ...).
    This causes libselinux to assign a per-user category set computed from
    the user ID portion of the Linux UID to each app process and its
    /data/data/<pkgdir> or /data/user/N/<pkgdir> directory.  These
    per-user category sets can be seen in the last field of ps -Z output for
    apps and ls -Z /data/data or /data/user/N output for the package
    directories.
    
    With this applied, apps running on behalf of one user cannot read
    or write files created by apps running on behalf of another user,
    even if the file is world-readable or -writable.  Similar isolation is
    enforced over process interactions (including /proc/pid file access),
    local socket communications, and System V IPC, as expressed in the
    set of constraints defined in the mls configuration.  At present,
    Binder IPC is not restricted by the mls configuration; if desired,
    there is a constraint in the configuration that can be uncommented
    to also apply isolation on direct binder IPC, although communication
    will still be possible indirectly via the system_server.
    
    Bug: 13507660
    Change-Id: I3972f846ff5e7363799ba521f1258d662b18d64e
    Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
seapp_contexts 2.25 KiB