android有些系统常用用户,例如root, system,  shell, wifi,radio的用户ID都是在代码里提前定义好了。例如system的uid是1000

include/private/android_filesystem_config.h

/** Copyright (C) 2007 The Android Open Source Project** Licensed under the Apache License, Version 2.0 (the "License");* you may not use this file except in compliance with the License.* You may obtain a copy of the License at**      http://www.apache.org/licenses/LICENSE-2.0** Unless required by applicable law or agreed to in writing, software* distributed under the License is distributed on an "AS IS" BASIS,* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.* See the License for the specific language governing permissions and* limitations under the License.*/
/* This file is used to define the properties of the filesystem
** images generated by build tools (mkbootfs and mkyaffs2image) and
** by the device side of adb.
*/
#ifndef _ANDROID_FILESYSTEM_CONFIG_H_
#define _ANDROID_FILESYSTEM_CONFIG_H_
#include <sys/cdefs.h>
#include <sys/types.h>
#include <stdint.h>
#if defined(__ANDROID__)
#include <linux/capability.h>
#else
#include "android_filesystem_capability.h"
#endif
#define CAP_MASK_LONG(cap_name)  (1ULL << (cap_name))
/* This is the master Users and Groups config for the platform.* DO NOT EVER RENUMBER*/
#define AID_ROOT             0  /* traditional unix root user */
#define AID_SYSTEM        1000  /* system server */
#define AID_RADIO         1001  /* telephony subsystem, RIL */
#define AID_BLUETOOTH     1002  /* bluetooth subsystem */
#define AID_GRAPHICS      1003  /* graphics devices */
#define AID_INPUT         1004  /* input devices */
#define AID_AUDIO         1005  /* audio devices */
#define AID_CAMERA        1006  /* camera devices */
#define AID_LOG           1007  /* log devices */
#define AID_COMPASS       1008  /* compass device */
#define AID_MOUNT         1009  /* mountd socket */
#define AID_WIFI          1010  /* wifi subsystem */
#define AID_ADB           1011  /* android debug bridge (adbd) */
#define AID_INSTALL       1012  /* group for installing packages */
#define AID_MEDIA         1013  /* mediaserver process */
#define AID_DHCP          1014  /* dhcp client */
#define AID_SDCARD_RW     1015  /* external storage write access */
#define AID_VPN           1016  /* vpn system */
#define AID_KEYSTORE      1017  /* keystore subsystem */
#define AID_USB           1018  /* USB devices */
#define AID_DRM           1019  /* DRM server */
#define AID_MDNSR         1020  /* MulticastDNSResponder (service discovery) */
#define AID_GPS           1021  /* GPS daemon */
#define AID_UNUSED1       1022  /* deprecated, DO NOT USE */
#define AID_MEDIA_RW      1023  /* internal media storage write access */
#define AID_MTP           1024  /* MTP USB driver access */
#define AID_UNUSED2       1025  /* deprecated, DO NOT USE */
#define AID_DRMRPC        1026  /* group for drm rpc */
#define AID_NFC           1027  /* nfc subsystem */
#define AID_SDCARD_R      1028  /* external storage read access */
#define AID_CLAT          1029  /* clat part of nat464 */
#define AID_LOOP_RADIO    1030  /* loop radio devices */
#define AID_MEDIA_DRM     1031  /* MediaDrm plugins */
#define AID_PACKAGE_INFO  1032  /* access to installed package details */
#define AID_SDCARD_PICS   1033  /* external storage photos access */
#define AID_SDCARD_AV     1034  /* external storage audio/video access */
#define AID_SDCARD_ALL    1035  /* access all users external storage */
#define AID_LOGD          1036  /* log daemon */
#define AID_SHARED_RELRO  1037  /* creator of shared GNU RELRO files */
#define AID_DBUS          1038  /* dbus-daemon IPC broker process */
#define AID_TLSDATE       1039  /* tlsdate unprivileged user */
#define AID_MEDIA_EX      1040  /* mediaextractor process */
#define AID_AUDIOSERVER   1041  /* audioserver process */
#define AID_METRICS_COLL  1042  /* metrics_collector process */
#define AID_METRICSD      1043  /* metricsd process */
#define AID_WEBSERV       1044  /* webservd process */
#define AID_DEBUGGERD     1045  /* debuggerd unprivileged user */
#define AID_MEDIA_CODEC   1046  /* mediacodec process */
#define AID_CAMERASERVER  1047  /* cameraserver process */
#define AID_FIREWALL      1048  /* firewalld process */
#define AID_TRUNKS        1049  /* trunksd process (TPM daemon) */
#define AID_NVRAM         1050  /* Access-controlled NVRAM */
#define AID_DNS           1051  /* DNS resolution daemon (system: netd) */
#define AID_DNS_TETHER    1052  /* DNS resolution daemon (tether: dnsmasq) */
/* Changes to this file must be made in AOSP, *not* in internal branches. */
#define AID_SHELL         2000  /* adb and debug shell user */
#define AID_CACHE         2001  /* cache access */
#define AID_DIAG          2002  /* access to diagnostic resources */
/* The range 2900-2999 is reserved for OEM, and must never be* used here */
#define AID_OEM_RESERVED_START 2900
#define AID_OEM_RESERVED_END   2999
/* The 3000 series are intended for use as supplemental group id's only.* They indicate special Android capabilities that the kernel is aware of. */
#define AID_NET_BT_ADMIN  3001  /* bluetooth: create any socket */
#define AID_NET_BT        3002  /* bluetooth: create sco, rfcomm or l2cap sockets */
#define AID_INET          3003  /* can create AF_INET and AF_INET6 sockets */
#define AID_NET_RAW       3004  /* can create raw INET sockets */
#define AID_NET_ADMIN     3005  /* can configure interfaces and routing tables. */
#define AID_NET_BW_STATS  3006  /* read bandwidth statistics */
#define AID_NET_BW_ACCT   3007  /* change bandwidth statistics accounting */
#define AID_NET_BT_STACK  3008  /* bluetooth: access config files */
#define AID_READPROC      3009  /* Allow /proc read access */
#define AID_WAKELOCK      3010  /* Allow system wakelock read/write access */
/* The range 5000-5999 is also reserved for OEM, and must never be used here. */
#define AID_OEM_RESERVED_2_START 5000
#define AID_OEM_RESERVED_2_END   5999
#define AID_EVERYBODY     9997  /* shared between all apps in the same profile */
#define AID_MISC          9998  /* access to misc storage */
#define AID_NOBODY        9999
#define AID_APP          10000  /* first app user */
#define AID_ISOLATED_START 99000 /* start of uids for fully isolated sandboxed processes */
#define AID_ISOLATED_END   99999 /* end of uids for fully isolated sandboxed processes */
#define AID_USER        100000  /* offset for uid ranges for each user */
#define AID_SHARED_GID_START 50000 /* start of gids for apps in each user to share */
#define AID_SHARED_GID_END   59999 /* start of gids for apps in each user to share */
#if !defined(EXCLUDE_FS_CONFIG_STRUCTURES)
/** Used in:*  bionic/libc/bionic/stubs.cpp*  external/libselinux/src/android.c*  system/core/logd/LogStatistics.cpp*  system/core/init/ueventd.cpp*  system/core/init/util.cpp*/
struct android_id_info {const char *name;unsigned aid;
};
static const struct android_id_info android_ids[] = {{ "root",          AID_ROOT, },{ "system",        AID_SYSTEM, },{ "radio",         AID_RADIO, },{ "bluetooth",     AID_BLUETOOTH, },{ "graphics",      AID_GRAPHICS, },{ "input",         AID_INPUT, },{ "audio",         AID_AUDIO, },{ "camera",        AID_CAMERA, },{ "log",           AID_LOG, },{ "compass",       AID_COMPASS, },{ "mount",         AID_MOUNT, },{ "wifi",          AID_WIFI, },{ "adb",           AID_ADB, },{ "install",       AID_INSTALL, },{ "media",         AID_MEDIA, },{ "dhcp",          AID_DHCP, },{ "sdcard_rw",     AID_SDCARD_RW, },{ "vpn",           AID_VPN, },{ "keystore",      AID_KEYSTORE, },{ "usb",           AID_USB, },{ "drm",           AID_DRM, },{ "mdnsr",         AID_MDNSR, },{ "gps",           AID_GPS, },// AID_UNUSED1{ "media_rw",      AID_MEDIA_RW, },{ "mtp",           AID_MTP, },// AID_UNUSED2{ "drmrpc",        AID_DRMRPC, },{ "nfc",           AID_NFC, },{ "sdcard_r",      AID_SDCARD_R, },{ "clat",          AID_CLAT, },{ "loop_radio",    AID_LOOP_RADIO, },{ "mediadrm",      AID_MEDIA_DRM, },{ "package_info",  AID_PACKAGE_INFO, },{ "sdcard_pics",   AID_SDCARD_PICS, },{ "sdcard_av",     AID_SDCARD_AV, },{ "sdcard_all",    AID_SDCARD_ALL, },{ "logd",          AID_LOGD, },{ "shared_relro",  AID_SHARED_RELRO, },{ "dbus",          AID_DBUS, },{ "tlsdate",       AID_TLSDATE, },{ "mediaex",       AID_MEDIA_EX, },{ "audioserver",   AID_AUDIOSERVER, },{ "metrics_coll",  AID_METRICS_COLL },{ "metricsd",      AID_METRICSD },{ "webserv",       AID_WEBSERV },{ "debuggerd",     AID_DEBUGGERD, },{ "mediacodec",    AID_MEDIA_CODEC, },{ "cameraserver",  AID_CAMERASERVER, },{ "firewall",      AID_FIREWALL, },{ "trunks",        AID_TRUNKS, },{ "nvram",         AID_NVRAM, },{ "dns",           AID_DNS, },{ "dns_tether",    AID_DNS_TETHER, },{ "shell",         AID_SHELL, },{ "cache",         AID_CACHE, },{ "diag",          AID_DIAG, },{ "net_bt_admin",  AID_NET_BT_ADMIN, },{ "net_bt",        AID_NET_BT, },{ "inet",          AID_INET, },{ "net_raw",       AID_NET_RAW, },{ "net_admin",     AID_NET_ADMIN, },{ "net_bw_stats",  AID_NET_BW_STATS, },{ "net_bw_acct",   AID_NET_BW_ACCT, },{ "net_bt_stack",  AID_NET_BT_STACK, },{ "readproc",      AID_READPROC, },{ "wakelock",      AID_WAKELOCK, },{ "everybody",     AID_EVERYBODY, },{ "misc",          AID_MISC, },{ "nobody",        AID_NOBODY, },
};
#define android_id_count \(sizeof(android_ids) / sizeof(android_ids[0]))
struct fs_path_config {unsigned mode;unsigned uid;unsigned gid;uint64_t capabilities;const char *prefix;
};
/* Rules for directories and files has moved to system/code/libcutils/fs_config.c */
__BEGIN_DECLS
/** Used in:*  build/tools/fs_config/fs_config.c*  build/tools/fs_get_stats/fs_get_stats.c*  system/extras/ext4_utils/make_ext4fs_main.c*  external/squashfs-tools/squashfs-tools/android.c*  system/core/cpio/mkbootfs.c*  system/core/adb/file_sync_service.cpp*  system/extras/ext4_utils/canned_fs_config.c*/
void fs_config(const char *path, int dir, const char *target_out_path,unsigned *uid, unsigned *gid, unsigned *mode, uint64_t *capabilities);
ssize_t fs_config_generate(char *buffer, size_t length, const struct fs_path_config *pc);
__END_DECLS
#endif
#endif

【笔记】android 系统常用user id列表相关推荐

  1. 安卓学习笔记21:常用控件 - 列表视图

    文章目录 零.学习目标 一.列表视图概述 (一)继承关系图 (二)列表视图四要素 (三)四种适配器 二.基于数组适配器使用列表视图案例 -- 阅读古诗 (一)数组适配器 (二)运行效果 (三)涉及知识 ...

  2. Android群英传笔记-Android系统安全与安全机制

    Android系统安全与安全机制 系统消息 Android系统消息获取 android.os.Build SystemProperty Android apk 应用信息获取 PackageManage ...

  3. Android系统完整的权限列表

    访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限 获取错略位置 android.permiss ...

  4. android textview 常用属性id,Android TextView常用属性

    [说明] TextView是用来显示文本的组件.以下介绍的是XML代码中的属性,在java代码中同样可通过 "组件名.setXXX()方法设置.如,tv.setTextColor(); [属 ...

  5. Android系统常用的权限

    开机自动允许  android.permission.RECEIVE_BOOT_COMPLETED,允许程序开机自动运行. 电量统计  android.permission.BATTERY_STATS ...

  6. Java课程设计笔记-Android系统获取所有存储器路径

    在做Android文件管理器的时候遇到这么一个问题:如何获取内置存储+SD卡+其他外部存储(比如U盘)的路径呢?显然Environment.getExternalStorage()方法只能获取内部存储 ...

  7. android系统GUI设计师必会资源图制作工具

    [原文:http://09bee.lofter.com/post/75947_b40cf/] android系统GUI设计师必会资源图制作工具draw9pacth完全教程,仅供初学者参考. 2011- ...

  8. Android 系统编译环境设置及源代码编译

    一. 摘要    虽然已经在Android系统工作了一段时间, 但是每次需要重新setup环境的时候,都需要花一点时间, 所以就想借着这次在ubuntu 12.04 64bits系统上重新安装的机会, ...

  9. Android系统基础与常用布局

    Android学习笔记 一.Android系统简介 1.1 体系架构 采用了分层的架构,如下图 1.1.2 Linux内核 ​ Android 平台的基础是 Linux 内核.例如,Android R ...

  10. Android 系统(19)---常用ADB 命令

    一.常ADB命令 1. adb连接成功验证 命令:adb shell 命令:adb devices 2.使用adb安装.卸载应用 安装命令:adb install apk包名.apk 举例:安装测试电 ...

最新文章

  1. Google学术分析公司科研实力:谷歌1161,华为110,为何差10倍?
  2. 【深度学习】修改每张人像---ImageNet 的衰落
  3. yield的用法详解
  4. jupyter notebook添加conda虚拟环境
  5. 【layoutit!】基于 bootstrap 实现可视化布局工具
  6. Oralce 之 TM锁
  7. 人生之路1.20代码 第三部分
  8. 在 CentOS 7.6 上打包 Android Package APK
  9. imx6 android 最新,Re: IMX6D Android6.0 OTA 升级问题
  10. SQL练习:表妹不在,没人帮我查表,只好自己来了
  11. 使用哈尔滨工业大学SCIR的开源代码训练自己的ELMo
  12. 在嵌入式板子ARMv7 上利用neon对彩色图转换为灰度图进行加速
  13. Android高精战争(MVC、MVP、MVVM)
  14. 网吧台式计算机配置,详细推荐一套网吧电脑配置
  15. ssh中dao自定义的模板类
  16. Disconnect tfs
  17. matlab绕圆柱有环量流线,绕圆柱无环量和有环量流动流线分布图
  18. IoC容器和Servlet容器
  19. sql连接显示未能连接服务器,SQL Server 2008无法连接到服务器的操作教程
  20. python读取idx_通过Python从.idx3-ubyte文件或GZIP中提取图像 - python

热门文章

  1. 好题汇总(持续更新)
  2. 「快手极速版」榜 App Store 总榜第一
  3. java生成mib文件_SNMP之MIB文件创建
  4. centos7恢复mysql数据库_MySQL数据库之Centos7.3,mysql5.7环境,数据存储空间加大调整方案...
  5. JDK ThreadLocal解析
  6. vue loading组件
  7. Linux下如何实现对某个文件夹进行压缩
  8. 如何安装PANABIT?
  9. JQuery中$.ajax()方法参数详解 转载
  10. CSS 动画指南: 原理和实战 (一)