簡體   English   中英

Linux中的UID是什么?

[英]what is UID in linux?

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
....

因此,對於Google保留的進程,此處的UID為10078。那么,是否有超過10000個用戶? 如果是,那么用戶到底是誰?

UID是Linux用戶ID。

用戶ID不必從0或1開始計數。沒有什么可以說用戶ID從0、1、2 ...等開始遞增的,因此UID為10078並不奇怪。

在Android上,每個應用都有自己的Linux用戶。 這樣做是出於安全管理的原因; 每個用戶的權限=每個應用都可以通過這種方式在操作系統級別進行管理。 每次安裝新應用程序時,都會為該應用程序創建一個新的Linux用戶。

在“ Android系統權限”中對此有更詳細的說明。

Linux用戶是操作系統級別的用戶,與使用Android設備的用戶沒有任何直接關系。

我注意到,在Android中(至少5和6),任何大於10000的uid都對應於非系統用戶,即非系統應用程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM