共計 1993 個字符,預計需要花費 5 分鐘才能閱讀完成。
這篇文章主要講解了“linux 用戶的 ID 分為哪些類型”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學習“linux 用戶的 ID 分為哪些類型”吧!
linux 用戶的 ID 分 2 種:用戶 ID(User ID,簡稱 UID)和組 ID(Group ID,簡稱 GID),這與文件有擁有者和擁有群組兩種屬性相對應。每個文件都有自己的擁有者 ID 和群組 ID,當顯示文件屬性時,系統會根據“/etc/passwd”和“/etc/group”文件中的內容,分別找到 UID 和 GID 對應的用戶名和群組名,然后顯示出來。
登陸 Linux 系統時,雖然輸入的是自己的用戶名和密碼,但其實 Linux 并不認識你的用戶名稱,它只認識用戶名對應的 ID 號(也就是一串數字)。Linux 系統將所有用戶的名稱與 ID 的對應關系都存儲在 /etc/passwd 文件中。
說白了,用戶名并無實際作用,僅是為了方便用戶的記憶而已。
要論證 Linux 系統不認識用戶名 也很簡單,在前面章節,我們曾經在網絡上下載過 .tar.gz 或 .tar.bz2 格式的文件,在解壓縮之后的文件中,你會發現文件擁有者的屬性顯示的是一串數字,這很正常,就是因為系統只認識代表你身份的 ID,這串數字就是用戶的 ID(UID)號。
Linux 系統中,每個用戶的 ID 細分為 2 種,分別是用戶 ID(User ID,簡稱 UID)和組 ID(Group ID,簡稱 GID),這與文件有擁有者和擁有群組兩種屬性相對應(如圖 1 所示)。
圖 1 文件的擁有者和群組屬性
從圖 1 中可以看到,該文件的擁有者是超級管理員 root,擁有群組也是 root。有人可能會問,既然 Linux 系統不認識用戶名,文件是如何判別它的擁有者名稱和群組名稱的呢?
每個文件都有自己的擁有者 ID 和群組 ID,當顯示文件屬性時,系統會根據 /etc/passwd 和 /etc/group 文件中的內容,分別找到 UID 和 GID 對應的用戶名和群組名,然后顯示出來。
/etc/passwd 文件和 /etc/group 文件,后續文章會做詳細講解,這里只需要知道,在 /etc/passwd 文件中,利用 UID 可以找到對應的用戶名;在 /etc/group 文件中,利用 GID 可以找到對應的群組名。
做個小實驗,筆者所用的 Linux 系統中,常用的有兩個賬戶,分別為 root 超級管理員賬戶和 c.biancheng.net 普通賬戶,我們先使用 root 賬號登陸并 Vim /etc/passwd,在該文件中找到 c.biancheng.net 賬戶并將其 UID 隨意改一個數字,這時當你查看普通賬戶擁有的文件時,你會發現所有文件的擁有者不再是 c.biancheng.net,而是數字。
具體執行過程如下所示:
# 查看系統中是否存在 c.biancheng.net 這個用戶
[root@livecd ~]#grep c.biancheng.net /etc/passwd
c.biancheng.net:x:500:500:c.biancheng.net:/home/centoslive:/bin/bash
[root@livecd ~]#ll -d /home/centoslive
drwx------. 23 c.biancheng.net centoslive 4096 Apr 9 09:37 /home/centoslive
[root@livecd ~]#vim /etc.passwd
#修改 c.biancheng.net 賬戶中的 UID(第一個 500)為 2000
[root@livecd ~]#ll -d /home/centoslive
drwx------. 23 500 centoslive 4096 Apr 9 09:37 /home/centoslive
#可以看到,之前的 c.biancheng.net 變為了 500,因為修改了 UID,導致 500 找不到對應的賬號,因此顯示數字
#記得最后將其再手動改正過來
[root@livecd ~]#vim /etc.passwd
#修改 c.biancheng.net 賬戶中的 UID 從 2000 改為 500
由于 c.biancheng.net 賬戶的 UID 已經改為 2000,但其 home 目錄卻記錄的是 500,會導致此用戶再次登錄時無法進入自己的 home 目錄。
注意,本節為了說明 ID 和用戶名的對應關系,所以才將 /etc/passwd 文件中用戶的 UID 做了更改。此操作很可能會導致某些程序無法進行,因此 /etc/passwd 文件不能隨意修改。
感謝各位的閱讀,以上就是“linux 用戶的 ID 分為哪些類型”的內容了,經過本文的學習后,相信大家對 linux 用戶的 ID 分為哪些類型這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關知識點的文章,歡迎關注!