溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux用戶id指的是什么

發(fā)布時間:2023-03-16 11:05:36 來源:億速云 閱讀:102 作者:iii 欄目:建站服務器

這篇文章主要講解了“l(fā)inux用戶id指的是什么”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“l(fā)inux用戶id指的是什么”吧!

在linux中,用戶id(User ID,簡稱UID)是指用戶標識符,與用戶名唯一對應;在類UNIX系統(tǒng)中它是內(nèi)核用來辨識用戶的一個無符號整型數(shù)值,亦是UNIX文件系統(tǒng)與進程的必要組成部分之一。用戶的UID大于500的都是非系統(tǒng)賬號,500以下的都為系統(tǒng)保留的賬號,比如root賬號,至高權限的賬號的UID為0;創(chuàng)建用戶的時候默認的賬號的UID都是大于500。

登陸 Linux 系統(tǒng)時,雖然輸入的是自己的用戶名和密碼,但其實 Linux 并不認識你的用戶名稱,它只認識用戶名對應的 ID 號(也就是一串數(shù)字)。Linux 系統(tǒng)將所有用戶的名稱與 ID 的對應關系都存儲在 /etc/passwd 文件中。

Linux 系統(tǒng)中,每個用戶的 ID 細分為 2 種,分別是用戶 ID(User ID,簡稱 UID)和組 ID(Group ID,簡稱 GID),這與文件有擁有者和擁有群組兩種屬性相對應。下面就來帶大家了解一下用戶ID(UID)。

linux 用戶ID(UID)

用戶ID(英語:user identifier,一般縮寫為User ID或UID),全稱用戶標識符,在類UNIX系統(tǒng)中是內(nèi)核用來辨識用戶的一個無符號整型數(shù)值,亦是UNIX文件系統(tǒng)與進程的必要組成部分之一。

UID---用戶標識號,它與用戶名唯一對應。LINUX中超級用戶root的UID為0。如果您想讓系統(tǒng)顯示您的用戶名,UID,組名,GID以及您所屬的其他組的名稱,可利用id命令。修改UID一般用 usermod -u。

UID是系統(tǒng)中用來表示用戶的標識符,啟動的進程的uid就是當前登錄用戶的uid,查看用戶uid可使用id -u <username>命令

需要注意的是,權限檢查的時候是對euid檢查,通常情況下進程的euid是和uid相同的。

用戶的UID大于500的都是非系統(tǒng)賬號,500以下的都為系統(tǒng)保留的賬號,比如root賬號,至高權限的賬號的UID為0,我們創(chuàng)建用戶的時候默認的賬號的UID都是大于500,如果你要指定賬號的UID可以使用-u這個參數(shù)來指定。其它沒什么大的意義。

數(shù)值范圍

在不同的系統(tǒng)中,UID的值的范圍也有所不同,但一般來說UID都是由一個15位的整數(shù)表示,其范圍在0~32767之內(nèi),且有如下限制:

  • 超級用戶的UID總為0;

  • 按傳統(tǒng)的做法,“nobody”(類UNIX系統(tǒng)的一種特殊賬戶)與超級用戶相反,總占有數(shù)值最大的PID,即32767;相對應的,現(xiàn)今的系統(tǒng)為nobody分配的UID則在系統(tǒng)保留范圍(1~100)或是65530-65535的范圍內(nèi)[1]。

  • 數(shù)值于1~100內(nèi)的UID約定預留給系統(tǒng)使用,有些手冊則推薦在此基礎上再預留101~499(如RHEL)甚至是101~999(如Debian)的UID以作備用;而相對應的,在Linux中用useradd命令創(chuàng)建第一個用戶時,默認為之分配的UID則為1000。

除此之外,有些特殊的系統(tǒng)也支持16位的UID,因而UID的數(shù)目可以擴展到65536個;現(xiàn)代系統(tǒng)支持32位的UID,這也使UID數(shù)目進一步擴充到4,294,967,296個成為可能。

UID分類

  • 有效用戶ID

    有效用戶ID(Effective UID,即EUID)與有效用戶組ID(Effective Group ID,即EGID)在創(chuàng)建與訪問文件的時候發(fā)揮作用;具體來說,創(chuàng)建文件時,系統(tǒng)內(nèi)核將根據(jù)創(chuàng)建文件的進程的EUID與EGID設定文件的所有者/組屬性,而在訪問文件時,內(nèi)核亦根據(jù)訪問進程的EUID與EGID決定其能否訪問文件。

  • 真實用戶ID

    真實用戶ID(Real UID,即RUID)與真實用戶組ID(Real GID,即RGID)用于辨識進程的真正所有者,且會影響到進程發(fā)送信號的權限。沒有超級用戶權限的進程僅在其RUID與目標進程的RUID相匹配時才能向目標進程發(fā)送信號,例如在父子進程間,子進程從父進程處繼承了認證信息,使得父子進程間可以互相發(fā)送信號。

  • 暫存用戶ID

    暫存用戶ID(Saved UID,即SUID)于以提升權限運行的進程暫時需要做一些不需特權的操作時使用,這種情況下進程會暫時將自己的有效用戶ID從特權用戶(常為root)對應的UID變?yōu)槟硞€非特權用戶對應的UID,而后將原有的特權用戶UID復制為SUID暫存;之后當進程完成不需特權的操作后,進程使用SUID的值重置EUID以重新獲得特權。在這里需要說明的是,無特權進程的EUID值只能設為與RUID、SUID與EUID(也即不改變)之一相同的值。

  • 文件系統(tǒng)用戶ID

    文件系統(tǒng)用戶ID(File System UID,即FSUID)在Linux中使用,且只用于對文件系統(tǒng)的訪問權限控制,在沒有明確設定的情況下與EUID相同(若FSUID為root的UID,則SUID、RUID與EUID必至少有一亦為root的UID),且EUID改變也會影響到FSUID。設立FSUID是為了允許程序(如NFS服務器)在不需獲取向給定UID賬戶發(fā)送信號的情況下以給定UID的權限來限定自己的文件系統(tǒng)權限。

雜項

UID的數(shù)值與用戶賬戶的對應關系存放于/etc/passwd中。用于存放密碼的/etc/shadow以及網(wǎng)絡信息服務也以UID的數(shù)值標識用戶,但現(xiàn)在Linux系統(tǒng)下的shadow文件已經(jīng)改用賬戶名來標識用戶。

在遵循POSIX的環(huán)境中,id這一命令可以給出當前用戶的用戶名、所屬組及對應的UID、GID的值。

感謝各位的閱讀,以上就是“l(fā)inux用戶id指的是什么”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對linux用戶id指的是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI