0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何通過用戶組和訪問控制表(ACL)來管理用戶

Linux愛好者 ? 2017-12-25 14:30 ? 次閱讀

當(dāng)你需要管理一臺容納多個用戶的 Linux 機器時,比起一些基本的用戶管理工具所提供的方法,有時候你需要對這些用戶采取更多的用戶權(quán)限管理方式。特別是當(dāng)你要管理某些用戶的權(quán)限時,這個想法尤為重要。比如說,你有一個目錄,某個用戶組中的用戶可以通過讀和寫的權(quán)限訪問這個目錄,而其他用戶組中的用戶對這個目錄只有讀的權(quán)限。在 Linux 中,這是完全可以實現(xiàn)的。但前提是你必須先了解如何通過用戶組和訪問控制表(ACL)來管理用戶。

我們將從簡單的用戶開始,逐漸深入到復(fù)雜的訪問控制表(ACL)。你可以在你所選擇的 Linux 發(fā)行版完成你所需要做的一切。本文的重點是用戶組,所以不會涉及到關(guān)于用戶的基礎(chǔ)知識。

為了達到演示的目的,我將假設(shè):

你需要用下面兩個用戶名新建兩個用戶:

  • olivia

  • nathan

你需要新建以下兩個用戶組:

olivia 屬于 editors 用戶組,而 nathan 屬于 readers 用戶組。reader 用戶組對/DATA目錄只有讀的權(quán)限,而 editors 用戶組則對/DATA目錄同時有讀和寫的權(quán)限。當(dāng)然,這是個非常小的任務(wù),但它會給你基本的信息,你可以擴展這個任務(wù)以適應(yīng)你其他更大的需求。

我將在 Ubuntu 16.04 Server 平臺上進行演示。這些命令都是通用的,唯一不同的是,要是在你的發(fā)行版中不使用sudo命令,你必須切換到 root 用戶來執(zhí)行這些命令。

創(chuàng)建用戶

我們需要做的第一件事是為我們的實驗創(chuàng)建兩個用戶??梢杂胾seradd命令來創(chuàng)建用戶,我們不只是簡單地創(chuàng)建一個用戶,而需要同時創(chuàng)建用戶和屬于他們的家目錄,然后給他們設(shè)置密碼。

sudouseradd-molivia

sudouseradd-mnathan

我們現(xiàn)在創(chuàng)建了兩個用戶,如果你看看 /home 目錄,你可以發(fā)現(xiàn)他們的家目錄(因為我們用了 -m 選項,可以在創(chuàng)建用戶的同時創(chuàng)建他們的家目錄。

之后,我們可以用以下命令給他們設(shè)置密碼:

sudo passwd olivia

sudo passwdnathan

就這樣,我們創(chuàng)建了兩個用戶。

創(chuàng)建用戶組并添加用戶

現(xiàn)在我們將創(chuàng)建 readers 和 editors 用戶組,然后給它們添加用戶。創(chuàng)建用戶組的命令是:

addgroup readers

addgroupeditors

(LCTT 譯注:當(dāng)你使用 CentOS 等一些 Linux 發(fā)行版時,可能系統(tǒng)沒有addgroup這個命令,推薦使用groupadd命令來替換addgroup命令以達到同樣的效果)

如何通過用戶組和訪問控制表(ACL)來管理用戶

圖一:我們可以使用剛創(chuàng)建的新用戶組了。

創(chuàng)建用戶組后,我們需要添加我們的用戶到這兩個用戶組。我們用以下命令來將 nathan 用戶添加到 readers 用戶組:

sudousermod-a-Greadersnathan

用以下命令將 olivia 添加到 editors 用戶組:

sudousermod-a-Geditorsolivia

現(xiàn)在我們可以通過用戶組來管理用戶了。

給用戶組授予目錄的權(quán)限

假設(shè)你有個目錄 /READERS 且允許 readers 用戶組的所有成員訪問這個目錄。首先,我們執(zhí)行以下命令來更改目錄所屬用戶組:

sudochown-R:readers/READERS

接下來,執(zhí)行以下命令收回目錄所屬用戶組的寫入權(quán)限:

sudochmod-Rg-w/READERS

然后我們執(zhí)行下面的命令來收回其他用戶對這個目錄的訪問權(quán)限(以防止任何不在 readers 組中的用戶訪問這個目錄里的文件):

sudochmod-Ro-x/READERS

這時候,只有目錄的所有者(root)和用戶組 reader 中的用戶可以訪問 /READES 中的文件。

假設(shè)你有個目錄 /EDITORS ,你需要給用戶組 editors 里的成員這個目錄的讀和寫的權(quán)限。為了達到這個目的,執(zhí)行下面的這些命令是必要的:

sudochown-R:editors/EDITORS

sudochmod-Rg+w/EDITORS

sudochmod-Ro-x/EDITORS

此時 editors 用戶組的所有成員都可以訪問和修改其中的文件。除此之外其他用戶(除了 root 之外)無法訪問 /EDITORS 中的任何文件。

使用這個方法的問題在于,你一次只能操作一個組和一個目錄而已。這時候訪問控制表(ACL)就可以派得上用場了。

使用訪問控制表(ACL)

現(xiàn)在,讓我們把這個問題變得棘手一點。假設(shè)你有一個目錄 /DATA 并且你想給 readers 用戶組的成員讀取權(quán)限,并同時給 editors 用戶組的成員讀和寫的權(quán)限。為此,你必須要用到 setfacl 命令。setfacl 命令可以為文件或文件夾設(shè)置一個訪問控制表(ACL)。

這個命令的結(jié)構(gòu)如下:

setfaclOPTIONX:NAME:Y/DIRECTORY

其中 OPTION 是可選選項,X 可以是 u(用戶)或者是 g (用戶組),NAME 是用戶或者用戶組的名字,/DIRECTORY 是要用到的目錄。我們將使用 -m 選項進行修改。因此,我們給 readers 用戶組添加讀取權(quán)限的命令是:

sudosetfacl-mg:readers:rx-R/DATA

現(xiàn)在 readers 用戶組里面的每一個用戶都可以讀取 /DATA 目錄里的文件了,但是他們不能修改里面的內(nèi)容。

為了給 editors 用戶組里面的用戶讀寫權(quán)限,我們執(zhí)行了以下命令:

sudosetfacl-mg:editors:rwx-R/DATA

上述命令將賦予 editors 用戶組中的任何成員讀取權(quán)限,同時保留 readers 用戶組的只讀權(quán)限。

更多的權(quán)限控制

使用訪問控制表(ACL),你可以實現(xiàn)你所需的權(quán)限控制。你可以添加用戶到用戶組,并且靈活地控制這些用戶組對每個目錄的權(quán)限以達到你的需求。如果想了解上述工具的更多信息,可以執(zhí)行下列的命令:

  • man usradd

  • man addgroup

  • man usermod

  • man sefacl

  • man chown

  • man chmod


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11433

    瀏覽量

    212489
  • ACL
    ACL
    +關(guān)注

    關(guān)注

    0

    文章

    61

    瀏覽量

    12320

原文標(biāo)題:如何在 Linux 系統(tǒng)中通過用戶組來管理用戶

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 0人收藏

    評論

    相關(guān)推薦
    熱點推薦

    Linux用戶用戶組的知識科普

    在 linux 中,用戶帳號,用戶密碼,用戶組信息和用戶組密碼均是存放在不同的配置文件中的。
    發(fā)表于 10-16 16:50 ?532次閱讀
    Linux<b class='flag-5'>用戶</b>與<b class='flag-5'>用戶組</b>的知識科普

    [bug反饋] 為什么會無緣無故降級用戶組?。?/a>

    你好,最近不清楚啥原因,我的用戶組本來是高級工程師,用好多心血才達到的,一下子突然變?yōu)榧夹g(shù)員,是什么原因能說明一下嗎管理員,或是幫我恢復(fù)一下可以嗎?現(xiàn)在發(fā)郵件 發(fā)QQ反饋沒有任何回復(fù),這樣子我不開心咯。謝謝
    發(fā)表于 01-04 23:10

    水貼——用戶組顯示等待驗證會員

    我的用戶組一直顯示等待驗證會員,多次驗證郵箱,可是顯示郵件發(fā)送,但是郵箱卻從來沒收到過驗證郵件,哪位管理員能幫忙解決一下這個問題,謝謝!
    發(fā)表于 08-02 13:13

    用戶組問題

    我的用戶組驗證不了,怎么弄啊謝謝
    發(fā)表于 10-12 10:50

    想問一下如何升級用戶組

    我已經(jīng)輸入了手機驗證碼了,但用戶組卻沒有變化,是還需要什么別的條件嗎?
    發(fā)表于 10-15 09:52

    我己經(jīng)通過實名認證,怎么還在等待驗證會員用戶組

    我己經(jīng)通過實名認證,怎么還在等待驗證會員用戶組?在用戶組里點立即驗證也沒用。請版主解決,謝謝!
    發(fā)表于 10-20 16:16

    我己經(jīng)通過實名認證,怎么還在等待驗證會員用戶組?再想驗證己經(jīng)沒有可點的按鈕。

    我己經(jīng)通過實名認證,怎么還在等待驗證會員用戶組?在用戶組里點立即驗證也沒用。請版主解決,謝謝!
    發(fā)表于 10-21 11:22

    【4412開發(fā)板】理解和掌握linux用戶、用戶組、權(quán)限等方法

    的列表中。可以以為單位分配資源。隸屬于同一個的成員可以訪問同一資源。4.4.1 用戶組的操作使用
    發(fā)表于 11-18 13:45

    Linux如何管理用戶用戶組?

    用戶用戶組管理的作用Linux如何管理用戶用戶組
    發(fā)表于 12-17 07:41

    【魯班貓】通過添加udev規(guī)則實現(xiàn)用戶組訪問SPI和I2C設(shè)備

    | 在使用魯班貓的過程中,發(fā)現(xiàn)cat用戶并沒有配置好外設(shè)的使用權(quán)限。最簡單的辦法就是sudo改權(quán)限,讓cat用戶能臨時訪問設(shè)備(重啟后會失效)。有沒有什么辦法能一勞永逸的呢?當(dāng)然有 ,就是通過
    發(fā)表于 04-08 10:35

    通過添加udev規(guī)則實現(xiàn)用戶組訪問SPI和I2C及GPIO設(shè)備

    \" 這個配置規(guī)則,是告訴udev,只要是子系統(tǒng)硬件匹配spidev和i2c-dev的,就把該設(shè)備的用戶組調(diào)整成devuser,權(quán)限改成0660 接下來我們需要新建devuser,并把
    發(fā)表于 08-25 21:58

    什么是接入控制表(ACL)

    什么是接入控制表(ACL) 訪問控制列表(Access Control List,ACL) 是路由器接口的指令列表,用來
    發(fā)表于 04-06 09:05 ?1277次閱讀

    整理了 Linux 用戶用戶組管理的相關(guān)內(nèi)容

    用戶進行跟蹤,并控制他們對系統(tǒng)資源的訪問;另一方面也可以幫助用戶組織文件,并為用戶提供安全性保護。 每個
    的頭像 發(fā)表于 02-06 15:16 ?3090次閱讀
    整理了 Linux <b class='flag-5'>用戶</b>及<b class='flag-5'>用戶組</b><b class='flag-5'>管理</b>的相關(guān)內(nèi)容

    Linux用戶用戶組的關(guān)系詳解

    在 linux 中,用戶帳號,用戶密碼,用戶組信息和用戶組密碼均是存放在不同的配置文件中的。
    的頭像 發(fā)表于 06-13 14:30 ?7277次閱讀

    訪問控制列表什么?ACL的功能特點

    訪問控制列表(Access Control List,簡稱ACL)是一種網(wǎng)絡(luò)安全機制,用于定義和實施對網(wǎng)絡(luò)資源或系統(tǒng)對象的訪問權(quán)限。ACL
    的頭像 發(fā)表于 04-03 13:57 ?1117次閱讀

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品