技術(shù)頻道導(dǎo)航
HTML/CSS
.NET技術(shù)
IIS技術(shù)
PHP技術(shù)
Js/JQuery
Photoshop
Fireworks
服務(wù)器技術(shù)
操作系統(tǒng)
網(wǎng)站運(yùn)營

贊助商

分類目錄

贊助商

最新文章

搜索

如何在 Linux 上列出組中的所有用戶

作者:admin    時(shí)間:2022-9-8 9:48:20    瀏覽:

在 Linux 上,文件具有三組權(quán)限。一組用于文件組。在將文件分配給組之前,你可能需要檢查組成員是誰。

文件和目錄權(quán)限

Linux 上的文件和目錄對所有者有一組權(quán)限 ,對文件分配到的組有另一組權(quán)限,對不屬于前兩個(gè)類別之一的每個(gè)人都有權(quán)限。

每組權(quán)限定義該類別的成員是否可以讀取、寫入或執(zhí)行文件。在目錄的情況下,執(zhí)行動作等同于能夠cd進(jìn)入目錄。

文件或目錄的默認(rèn)組是所有者的默認(rèn)組。這通常是創(chuàng)建它的人。組權(quán)限用于允許一組用戶對該組的其他成員的文件和目錄具有受控訪問權(quán)限。

例如,你可能有一個(gè)開發(fā)團(tuán)隊(duì)、一個(gè)文檔團(tuán)隊(duì)、一個(gè)研究團(tuán)隊(duì)等等??梢詫⒚總€(gè)團(tuán)隊(duì)的成員添加到適當(dāng)命名的組中,以幫助協(xié)作。用戶可以同時(shí)在多個(gè)組中。

這是一個(gè)簡單但穩(wěn)健的方案。但是,如果你的文件很敏感,那么在與他們分享你的工作之前,你可能會更樂意檢查該組的成員是誰。有不同的方法可以做到這一點(diǎn)。

/etc/groups 文件

“/etc/group”文件包含以冒號“ :”分隔的組和組成員列表。每行有四個(gè)字段。

  • Name:組的唯一名稱。
  • 密碼:未使用。這將始終保持“x”。
  • 組 ID:唯一的組標(biāo)識符。
  • 用戶:組成員的逗號分隔列表。對于系統(tǒng)和守護(hù)程序帳戶,該列表通常為空。

要將文件的內(nèi)容轉(zhuǎn)儲到終端窗口,可以使用cat,但使用 less 滾動文件內(nèi)容更方便。

less /etc/group

 

列表頂部的大多數(shù)條目都沒有成員,盡管“adm”組有兩個(gè),“cdrom”組有一個(gè)。

 

如果我們想發(fā)現(xiàn)特定用戶所在的組,我們可以使用grep他們的用戶帳戶名來搜索條目。這不是我們手頭的任務(wù)。我們希望看到屬于某個(gè)組的每個(gè)人,而不是一個(gè)人所屬的組。但對我們來說看看是有啟發(fā)性的。

grep "dave" /etc/group

 

為我們列出了包含字符串“dave”的條目。隱藏在其中的跡象表明,事情可能并不像我們想象的那么簡單。

將用戶添加到 Linux 時(shí),默認(rèn)操作是將他們放在與其用戶帳戶同名的組中。這是他們的主要群體。將它們添加到的任何其他組稱為輔助組。

問題是用戶沒有被列為其主要組的成員。這就是組“dave”沒有顯示任何成員的原因,盡管用戶“dave”是該組的成員。

當(dāng)然,系統(tǒng)管理員可以將任何用戶的主組更改為任何其他組的主組。這意味著用戶可以是任何組的成員,但不會在“/etc/group”文件中這樣列出。這是一個(gè)問題。

第二個(gè)問題是“/etc/group”文件不是單一的事實(shí)來源?,F(xiàn)代 Linux 安裝可能會將用戶和組信息存儲在比“/etc/passwd”和“/etc/group”更多的位置,尤其是在部署了輕量級目錄訪問協(xié)議等服務(wù)的公司情況下。只看一個(gè)地方,你可能看不到全局。

在我們的測試場景中,我們?yōu)橐粋€(gè)開發(fā)部門創(chuàng)建了四個(gè)組。他們是:

  • resteam:研究團(tuán)隊(duì)。
  • devteam:開發(fā)團(tuán)隊(duì)。
  • pvqteam:產(chǎn)品驗(yàn)證和質(zhì)量團(tuán)隊(duì)。
  • docteam:文檔團(tuán)隊(duì)。

我們?yōu)檫@些團(tuán)隊(duì)增加了人員。有些人在不止一個(gè)團(tuán)隊(duì)中。如果我們打開“/etc/group”文件less并滾動到文件底部,我們將看到新的組和組成員。至少,與“/etc/group”文件所知道的成員一樣多。

 

如果我們想提取單個(gè)組,我們可以使用搜索grep。插入符號“ ^”代表一行的開始。

grep "^devteam" /etc/group

 

這將從文件中提取“devteam”條目并列出所有組成員。

總結(jié)

本文介紹了如何在 Linux 上列出組中的所有用戶,通過本文的學(xué)習(xí),你應(yīng)該了解了 /etc/groups 的使用。

相關(guān)文章

標(biāo)簽: linux  
x