Linux中的UID是什么? Wiki和其他在线消息来源称这是用户ID。但究竟是什么用户ID? 名称"用户ID"让我感觉是用户正在使用操作系统。喜欢如果我只有一个用户,我的用户ID应为1.对于root,我知道它是0。
但是我看到用户ID被赋予每个进程(应用程序?)。那么,每个进程都有不同的uid吗?当我们已经将pid区分开来时,为什么需要它。
Ex :
root:/ # ps 8533
USER PID PPID VSIZE RSS WCHAN PC NAME
u0_a78 8533 363 1526628 52668 ffffffff b6f80d04 S com.google.android.keep
root:/ # cat /proc/8533/status
Name: le.android.keep
State: S (sleeping)
Tgid: 8533
Pid: 8533
PPid: 363
TracerPid: 0
Uid: 10078 10078 10078 10078
....
所以这里的谷歌保持过程,UID是10078.那么,有超过10000个用户吗?如果是,那么究竟谁是用户?
答案 0 :(得分:1)
UID是Linux用户ID。
用户ID不必从0或1开始计数。没有任何内容表明用户ID从0,1,2,...等上升,所以UID是没有什么奇怪的事实10078
在Android上,每个应用都有自己的Linux用户。这是出于安全管理的原因;每个用户的权限=每个应用程序都可以通过这种方式在操作系统级别进行管理。每次安装新应用程序时,都会为该应用程序创建一个新的Linux用户。
中有更详细的解释Linux用户是操作系统级用户,与使用Android设备的用户没有任何直接关系。
答案 1 :(得分:0)
我注意到在Android(至少5和6)中,任何大于10000的uid对应于非系统用户,即非系统应用程序。