您好,登錄后才能下訂單哦!
這篇文章主要講解了“linux用戶id指的是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“linux用戶id指的是什么”吧!
在linux中,用戶id(User ID,簡稱UID)是指用戶標識符,與用戶名唯一對應;在類UNIX系統中它是內核用來辨識用戶的一個無符號整型數值,亦是UNIX文件系統與進程的必要組成部分之一。用戶的UID大于500的都是非系統賬號,500以下的都為系統保留的賬號,比如root賬號,至高權限的賬號的UID為0;創建用戶的時候默認的賬號的UID都是大于500。
登陸 Linux 系統時,雖然輸入的是自己的用戶名和密碼,但其實 Linux 并不認識你的用戶名稱,它只認識用戶名對應的 ID 號(也就是一串數字)。Linux 系統將所有用戶的名稱與 ID 的對應關系都存儲在 /etc/passwd 文件中。
Linux 系統中,每個用戶的 ID 細分為 2 種,分別是用戶 ID(User ID,簡稱 UID)和組 ID(Group ID,簡稱 GID),這與文件有擁有者和擁有群組兩種屬性相對應。下面就來帶大家了解一下用戶ID(UID)。
linux 用戶ID(UID)
用戶ID(英語:user identifier,一般縮寫為User ID或UID),全稱用戶標識符,在類UNIX系統中是內核用來辨識用戶的一個無符號整型數值,亦是UNIX文件系統與進程的必要組成部分之一。
UID---用戶標識號,它與用戶名唯一對應。LINUX中超級用戶root的UID為0。如果您想讓系統顯示您的用戶名,UID,組名,GID以及您所屬的其他組的名稱,可利用id命令。修改UID一般用 usermod -u
。
UID是系統中用來表示用戶的標識符,啟動的進程的uid就是當前登錄用戶的uid,查看用戶uid可使用id -u <username>
命令
需要注意的是,權限檢查的時候是對euid檢查,通常情況下進程的euid是和uid相同的。
用戶的UID大于500的都是非系統賬號,500以下的都為系統保留的賬號,比如root賬號,至高權限的賬號的UID為0,我們創建用戶的時候默認的賬號的UID都是大于500,如果你要指定賬號的UID可以使用-u
這個參數來指定。其它沒什么大的意義。
數值范圍
在不同的系統中,UID的值的范圍也有所不同,但一般來說UID都是由一個15位的整數表示,其范圍在0~32767之內,且有如下限制:
超級用戶的UID總為0;
按傳統的做法,“nobody”(類UNIX系統的一種特殊賬戶)與超級用戶相反,總占有數值最大的PID,即32767;相對應的,現今的系統為nobody分配的UID則在系統保留范圍(1~100)或是65530-65535的范圍內[1]。
數值于1~100內的UID約定預留給系統使用,有些手冊則推薦在此基礎上再預留101~499(如RHEL)甚至是101~999(如Debian)的UID以作備用;而相對應的,在Linux中用useradd命令創建第一個用戶時,默認為之分配的UID則為1000。
除此之外,有些特殊的系統也支持16位的UID,因而UID的數目可以擴展到65536個;現代系統支持32位的UID,這也使UID數目進一步擴充到4,294,967,296個成為可能。
UID分類
有效用戶ID
有效用戶ID(Effective UID,即EUID)與有效用戶組ID(Effective Group ID,即EGID)在創建與訪問文件的時候發揮作用;具體來說,創建文件時,系統內核將根據創建文件的進程的EUID與EGID設定文件的所有者/組屬性,而在訪問文件時,內核亦根據訪問進程的EUID與EGID決定其能否訪問文件。
真實用戶ID
真實用戶ID(Real UID,即RUID)與真實用戶組ID(Real GID,即RGID)用于辨識進程的真正所有者,且會影響到進程發送信號的權限。沒有超級用戶權限的進程僅在其RUID與目標進程的RUID相匹配時才能向目標進程發送信號,例如在父子進程間,子進程從父進程處繼承了認證信息,使得父子進程間可以互相發送信號。
暫存用戶ID
暫存用戶ID(Saved UID,即SUID)于以提升權限運行的進程暫時需要做一些不需特權的操作時使用,這種情況下進程會暫時將自己的有效用戶ID從特權用戶(常為root)對應的UID變為某個非特權用戶對應的UID,而后將原有的特權用戶UID復制為SUID暫存;之后當進程完成不需特權的操作后,進程使用SUID的值重置EUID以重新獲得特權。在這里需要說明的是,無特權進程的EUID值只能設為與RUID、SUID與EUID(也即不改變)之一相同的值。
文件系統用戶ID
文件系統用戶ID(File System UID,即FSUID)在Linux中使用,且只用于對文件系統的訪問權限控制,在沒有明確設定的情況下與EUID相同(若FSUID為root的UID,則SUID、RUID與EUID必至少有一亦為root的UID),且EUID改變也會影響到FSUID。設立FSUID是為了允許程序(如NFS服務器)在不需獲取向給定UID賬戶發送信號的情況下以給定UID的權限來限定自己的文件系統權限。
雜項
UID的數值與用戶賬戶的對應關系存放于/etc/passwd中。用于存放密碼的/etc/shadow以及網絡信息服務也以UID的數值標識用戶,但現在Linux系統下的shadow文件已經改用賬戶名來標識用戶。
在遵循POSIX的環境中,id這一命令可以給出當前用戶的用戶名、所屬組及對應的UID、GID的值。
感謝各位的閱讀,以上就是“linux用戶id指的是什么”的內容了,經過本文的學習后,相信大家對linux用戶id指的是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。