初始使用者組,有效使用者組,初始使用者,有效使用者

2021-06-28 23:10:16 字數 1361 閱讀 3438

自從我開始學習linux系統管理以來,這幾個概念一直困擾著我。

今天,一定要搞清楚這幾個概念,然後好好研究研究他們到底是幹什麼用的。

藉此,寫篇「久違」了的部落格,和大家共享下我的總結

實際使用者 (real user id)

實際使用者就是登陸到shell的時候的使用者,也就是最開始的使用者。

在大棚部落格前面有一篇文章在討論whoami和who am i的區別時,也涉及到了這個概念。在這裡再次強調一下,who am i所列出的就是實際使用者。

有效使用者(effective user id)

所謂有效使用者,就是用su或者su -所切換到的使用者。用whoami所列出的就是這個有效使用者。

如果你執行了乙個命令產生了乙個程序,那麼此程序的user就是有效使用者id

初始使用者組

還記得/etc/passwd檔案裡的第4欄麼(忘了的話,用cat /etc/passwd去看看),它表示gid,就是「使用者組id」,我們稱這個值為「初始使用者組」。當使用者登陸系統時,立刻就擁有了這個使用者組的相應許可權。

如果你知識掌握的夠紮實,你還會想到/etc/group檔案,這裡面儲存著所有的使用者組名稱以及相應的使用者賬號列表。請你注意,這個使用者賬號列表裡原則上來說可以不儲存「初始使用者組名稱」的,因為初始使用者組名稱在/etc/passwd裡已經儲存了,沒必要在這裡再重複儲存了。

有效使用者組

有效使用者組表示使用者此時此刻所在的使用者組是什麼。有些同學會問「難道使用者所在的使用者組還會來回來去的變麼?」。答案是肯定的。這都是newgrp命令搞得鬼,它可以幫助使用者轉換到不同的使用者組。比如newgrp group123,就可以讓使用者轉換到group123使用者組了。請注意,這種轉換的背後原理是「建立乙個新的子shell」,恢復到原來使用者組的方法是用exit或ctrl-d來登出當前的shell。

好了,說結論吧,有效使用者組就是用newgrp命令所切換到的使用者組。(當然,如果你一次也沒有使用newgrp命令,那麼有效使用者組就是初始使用者組嘍)

當然,你可以用groups命令來列出當前使用者所支援的所有使用者組。(在有些系統中,第乙個列出的就是有效使用者組,但有些系統並不這麼做)

還有一點應該注意,就是當你建立乙個檔案時,此檔案的所屬使用者組就是建立人當前的有效使用者組。

結論

1 當用su或者su -切換使用者時,其使用者組都會隨之改變,系統會根據所要切換的有效使用者id去/etc/passwd裡尋找相對應的初始使用者組,然後切換之。

2 建立乙個檔案時,系統會根據有效使用者和有效使用者組來建立。

ps: 這篇文章算是《linux命令五分鐘系列之三十》,由於文章題目太長,略去專題名稱了。

over~

Linux 中有效使用者組和初始使用者組

先檢視一下 etc group 檔案 root localhost cat etc group root x 0 root bin x 1 root,bin,daemon daemon x 2 root,bin,daemon sys x 3 root,bin,adm adm x 4 root,adm...

Linux 有效與初始使用者組

這個檔案的每一行代表乙個使用者組,以冒號分隔各個字段。共有4個字段,分別是 在 etc passwd中使用者對應的那一行的第4個字段,就是所謂的初始使用者組。也就是說,當使用者登入系統,立刻就擁有這個使用者組的相關許可權。但是如果不是初始使用者組,則必須要在 etc group對應的某一行的第4個字...

使用者組及使用者組命令注釋

一 使用者管理 1.使用者建立 用法 useradd options login 選項及示例 u 建立使用者時指定uid image.png o 配合 u 選項,不檢查uid的唯一性 image.png g gid 指明使用者所屬基本組,可為組名,也可以gid image.png c comment...