[英]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.