Skip to content
Snippets Groups Projects
Commit d22987b4 authored by Jeff Vander Stoep's avatar Jeff Vander Stoep Committed by Jeffrey Vander Stoep
Browse files

Create attribute for moving perms out of domain

Motivation: Domain is overly permissive. Start removing permissions
from domain and assign them to the domain_deprecated attribute.
Domain_deprecated and domain can initially be assigned to all
domains. The goal is to not assign domain_deprecated to new domains
and to start removing domain_deprecated where it is not required or
reassigning the appropriate permissions to the inheriting domain
when necessary.

Bug: 25433265
Change-Id: I8b11cb137df7bdd382629c98d916a73fe276413c
parent e25588fb
No related branches found
No related tags found
No related merge requests found
# adbd seclabel is specified in init.rc since # adbd seclabel is specified in init.rc since
# it lives in the rootfs and has no unique file type. # it lives in the rootfs and has no unique file type.
type adbd, domain, mlstrustedsubject; type adbd, domain, domain_deprecated, mlstrustedsubject;
userdebug_or_eng(` userdebug_or_eng(`
allow adbd self:process setcurrent; allow adbd self:process setcurrent;
......
...@@ -3,7 +3,7 @@ type atrace_exec, exec_type, file_type; ...@@ -3,7 +3,7 @@ type atrace_exec, exec_type, file_type;
userdebug_or_eng(` userdebug_or_eng(`
type atrace, domain; type atrace, domain, domain_deprecated;
init_daemon_domain(atrace) init_daemon_domain(atrace)
# boottrace services uses /data/misc/boottrace/categories # boottrace services uses /data/misc/boottrace/categories
......
...@@ -8,6 +8,16 @@ attribute dev_type; ...@@ -8,6 +8,16 @@ attribute dev_type;
# All types used for processes. # All types used for processes.
attribute domain; attribute domain;
# Temporary attribute used for migrating permissions out of domain.
# Motivation: Domain is overly permissive. Start removing permissions
# from domain and assign them to the domain_deprecated attribute.
# Domain_deprecated and domain can initially be assigned to all
# domains. The goal is to not assign domain_deprecated to new domains
# and to start removing domain_deprecated where it's not required or
# reassigning the appropriate permissions to the inheriting domain
# when necessary.
attribute domain_deprecated;
# All types used for filesystems. # All types used for filesystems.
attribute fs_type; attribute fs_type;
......
# blkid called from vold # blkid called from vold
type blkid, domain; type blkid, domain, domain_deprecated;
type blkid_exec, exec_type, file_type; type blkid_exec, exec_type, file_type;
# Allowed read-only access to encrypted devices to extract UUID/label # Allowed read-only access to encrypted devices to extract UUID/label
......
# blkid for untrusted block devices # blkid for untrusted block devices
type blkid_untrusted, domain; type blkid_untrusted, domain, domain_deprecated;
# Allowed read-only access to vold block devices to extract UUID/label # Allowed read-only access to vold block devices to extract UUID/label
allow blkid_untrusted block_device:dir search; allow blkid_untrusted block_device:dir search;
......
# bluetooth subsystem # bluetooth subsystem
type bluetooth, domain; type bluetooth, domain, domain_deprecated;
app_domain(bluetooth) app_domain(bluetooth)
net_domain(bluetooth) net_domain(bluetooth)
......
# bootanimation oneshot service # bootanimation oneshot service
type bootanim, domain; type bootanim, domain, domain_deprecated;
type bootanim_exec, exec_type, file_type; type bootanim_exec, exec_type, file_type;
init_daemon_domain(bootanim) init_daemon_domain(bootanim)
......
# 464xlat daemon # 464xlat daemon
type clatd, domain; type clatd, domain, domain_deprecated;
type clatd_exec, exec_type, file_type; type clatd_exec, exec_type, file_type;
net_domain(clatd) net_domain(clatd)
......
# debugger interface # debugger interface
type debuggerd, domain; type debuggerd, domain, domain_deprecated;
type debuggerd_exec, exec_type, file_type; type debuggerd_exec, exec_type, file_type;
init_daemon_domain(debuggerd) init_daemon_domain(debuggerd)
......
# dex2oat # dex2oat
type dex2oat, domain; type dex2oat, domain, domain_deprecated;
type dex2oat_exec, exec_type, file_type; type dex2oat_exec, exec_type, file_type;
allow dex2oat dalvikcache_data_file:file write; allow dex2oat dalvikcache_data_file:file write;
......
type dhcp, domain; type dhcp, domain, domain_deprecated;
type dhcp_exec, exec_type, file_type; type dhcp_exec, exec_type, file_type;
type dhcp_data_file, file_type, data_file_type; type dhcp_data_file, file_type, data_file_type;
......
# DNS, DHCP services # DNS, DHCP services
type dnsmasq, domain; type dnsmasq, domain, domain_deprecated;
type dnsmasq_exec, exec_type, file_type; type dnsmasq_exec, exec_type, file_type;
net_domain(dnsmasq) net_domain(dnsmasq)
......
# rules removed from the domain attribute
# drmserver - DRM service # drmserver - DRM service
type drmserver, domain; type drmserver, domain, domain_deprecated;
type drmserver_exec, exec_type, file_type; type drmserver_exec, exec_type, file_type;
init_daemon_domain(drmserver) init_daemon_domain(drmserver)
......
# dumpstate # dumpstate
type dumpstate, domain, mlstrustedsubject; type dumpstate, domain, domain_deprecated, mlstrustedsubject;
type dumpstate_exec, exec_type, file_type; type dumpstate_exec, exec_type, file_type;
init_daemon_domain(dumpstate) init_daemon_domain(dumpstate)
......
type fingerprintd, domain; type fingerprintd, domain, domain_deprecated;
type fingerprintd_exec, exec_type, file_type; type fingerprintd_exec, exec_type, file_type;
# fingerprintd # fingerprintd
......
# Any fsck program run by init # Any fsck program run by init
type fsck, domain; type fsck, domain, domain_deprecated;
type fsck_exec, exec_type, file_type; type fsck_exec, exec_type, file_type;
init_daemon_domain(fsck) init_daemon_domain(fsck)
......
# Any fsck program run on untrusted block devices # Any fsck program run on untrusted block devices
type fsck_untrusted, domain; type fsck_untrusted, domain, domain_deprecated;
# Inherit and use pty created by android_fork_execvp_ext(). # Inherit and use pty created by android_fork_execvp_ext().
allow fsck_untrusted devpts:chr_file { read write ioctl getattr }; allow fsck_untrusted devpts:chr_file { read write ioctl getattr };
......
type gatekeeperd, domain; type gatekeeperd, domain, domain_deprecated;
type gatekeeperd_exec, exec_type, file_type; type gatekeeperd_exec, exec_type, file_type;
# gatekeeperd # gatekeeperd
......
# gpsd - GPS daemon # gpsd - GPS daemon
type gpsd, domain; type gpsd, domain, domain_deprecated;
type gpsd_exec, exec_type, file_type; type gpsd_exec, exec_type, file_type;
init_daemon_domain(gpsd) init_daemon_domain(gpsd)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment