首頁 系統教程 Linux Linux 系統中透過使用者群組管理使用者!

Linux 系統中透過使用者群組管理使用者!

Feb 22, 2024 am 09:07 AM
linux linux教程 紅帽 linux系統 linux指令 linux認證 紅帽linux linux視頻

在 Linux 中,這是完全可以實現的。但前提是你必須先了解如何透過使用者群組和存取控製表(ACL)來管理使用者。
我們將從簡單的使用者開始,逐漸深入複雜的存取控製表(ACL)。你可以在你所選的 Linux 發行版完成你所需要做的一切。本文的重點是使用者群組,所以不會涉及到關於使用者的基礎知識。

為了達到演示的目的,我將假設:

你需要用下面兩個使用者名稱新建兩個使用者:

  • olivia
  • nathan

你需要新建以下兩個使用者群組:

  • readers
  • editors

olivia 屬於 editors 使用者群組,而 nathan 屬於 readers 使用者群組。 reader 使用者群組對 /DATA 目錄只有讀取的權限,而 editors 使用者群組則對 /DATA 目錄同時有讀取和寫入的權限。當然,這是一個非常小的任務,但它會給你基本的訊息,你可以擴展這個任務以適應你其他更大的需求。

我將在 Ubuntu 16.04 Server 平台上進行示範。這些指令都是通用的,唯一不同的是,如果在你的發行版中不使用 sudo 指令,你必須切換到 root 使用者來執行這些指令。

建立使用者

我們需要做的第一件事是為我們的實驗創建兩個使用者。可以用 useradd 指令來建立用戶,我們不只是簡單地建立一個用戶,而需要同時建立用戶和屬於他們的家目錄,然後給他們設定密碼。

sudo useradd -m olivia
sudo useradd -m nathan
登入後複製

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

之後,我們可以用以下指令為他們設定密碼:

sudo passwd olivia
sudo passwd nathan
登入後複製

就這樣,我們創建了兩個使用者。

建立使用者群組並新增使用者

現在我們將建立 readers 和 editors 使用者群組,然後為它們新增使用者。建立使用者群組的命令是:

addgroup readers
addgroup editors
登入後複製

(LCTT 譯註:當你使用 CentOS 等一些 Linux 發行版時,可能係統沒有 addgroup 這個指令,建議使用 groupadd 指令來取代 addgroup 指令以達到相同的效果)
Linux 系统中通过用户组管理用户!

圖一:我們可以使用剛建立的新使用者群組了。

建立使用者群組後,我們需要將我們的使用者新增至這兩個使用者群組。我們用以下命令來將 nathan 使用者新增至 readers 使用者群組:

sudo usermod -a -G readers nathan
登入後複製

用以下指令將 olivia 新增至 editors 使用者群組:

sudo usermod -a -G editors olivia
登入後複製

現在我們可以透過使用者群組來管理使用者了。

授予使用者群組目錄的權限

假設你有目錄 /READERS 且允許 readers 使用者群組的所有成員存取這個目錄。首先,我們執行以下命令來更改目錄所屬使用者群組:

sudo chown -R :readers /READERS
登入後複製

接下來,執行下列指令收回目錄所屬使用者群組的寫入權限:

sudo chmod -R g-w /READERS
登入後複製

然後我們執行下面的指令來收回其他使用者對這個目錄的存取權限(以防止任何不在 readers 群組中的使用者存取這個目錄裡的檔案):

sudo chmod -R o-x /READERS
登入後複製

這時候,只有目錄的擁有者(root)和使用者群組 reader 中的使用者可以存取 /READES 中的檔案。

假設你有個目錄 /EDITORS ,你需要給使用者群組 editors 裡的成員這個目錄的讀和寫的權限。為了達到這個目的,執行下面的這些命令是必要的:

sudo chown -R :editors /EDITORS
sudo chmod -R g+w /EDITORS
sudo chmod -R o-x /EDITORS
登入後複製

此時 editors 使用者群組的所有成員都可以存取和修改其中的檔案。除此之外其他使用者(除了 root 之外)無法存取 /EDITORS 中的任何檔案。

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

使用存取控製表(ACL)

现在,让我们把这个问题变得棘手一点。假设你有一个目录 /DATA 并且你想给 readers 用户组的成员读取权限,并同时给 editors 用户组的成员读和写的权限。为此,你必须要用到 setfacl 命令。setfacl 命令可以为文件或文件夹设置一个访问控制表(ACL)。

这个命令的结构如下:

setfacl OPTION X:NAME:Y /DIRECTORY
登入後複製

其中 OPTION 是可选选项,X 可以是 u(用户)或者是 g (用户组),NAME 是用户或者用户组的名字,/DIRECTORY 是要用到的目录。我们将使用 -m 选项进行修改。因此,我们给 readers 用户组添加读取权限的命令是:

sudo setfacl -m g:readers:rx -R /DATA
登入後複製

现在 readers 用户组里面的每一个用户都可以读取 /DATA 目录里的文件了,但是他们不能修改里面的内容。

为了给 editors 用户组里面的用户读写权限,我们执行了以下命令:

sudo setfacl -m g:editors:rwx -R /DATA
登入後複製

上述命令将赋予 editors 用户组中的任何成员读取权限,同时保留 readers 用户组的只读权限。

更多的权限控制

使用访问控制表(ACL),你可以实现你所需的权限控制。你可以添加用户到用户组,并且灵活地控制这些用户组对每个目录的权限以达到你的需求。如果想了解上述工具的更多信息,可以执行下列的命令:

  • man usradd
  • man addgroup
  • man usermod
  • man sefacl
  • man chown
  • man chmod

以上是Linux 系統中透過使用者群組管理使用者!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

centos和ubuntu的區別 centos和ubuntu的區別 Apr 14, 2025 pm 09:09 PM

CentOS 和 Ubuntu 的關鍵差異在於:起源(CentOS 源自 Red Hat,面向企業;Ubuntu 源自 Debian,面向個人)、包管理(CentOS 使用 yum,注重穩定;Ubuntu 使用 apt,更新頻率高)、支持週期(CentOS 提供 10 年支持,Ubuntu 提供 5 年 LTS 支持)、社區支持(CentOS 側重穩定,Ubuntu 提供廣泛教程和文檔)、用途(CentOS 偏向服務器,Ubuntu 適用於服務器和桌面),其他差異包括安裝精簡度(CentOS 精

centos如何安裝 centos如何安裝 Apr 14, 2025 pm 09:03 PM

CentOS 安裝步驟:下載 ISO 映像並刻錄可引導媒體;啟動並選擇安裝源;選擇語言和鍵盤佈局;配置網絡;分區硬盤;設置系統時鐘;創建 root 用戶;選擇軟件包;開始安裝;安裝完成後重啟並從硬盤啟動。

Centos停止維護2024 Centos停止維護2024 Apr 14, 2025 pm 08:39 PM

CentOS將於2024年停止維護,原因是其上游發行版RHEL 8已停止維護。該停更將影響CentOS 8系統,使其無法繼續接收更新。用戶應規劃遷移,建議選項包括CentOS Stream、AlmaLinux和Rocky Linux,以保持系統安全和穩定。

docker原理詳解 docker原理詳解 Apr 14, 2025 pm 11:57 PM

Docker利用Linux內核特性,提供高效、隔離的應用運行環境。其工作原理如下:1. 鏡像作為只讀模板,包含運行應用所需的一切;2. 聯合文件系統(UnionFS)層疊多個文件系統,只存儲差異部分,節省空間並加快速度;3. 守護進程管理鏡像和容器,客戶端用於交互;4. Namespaces和cgroups實現容器隔離和資源限制;5. 多種網絡模式支持容器互聯。理解這些核心概念,才能更好地利用Docker。

Centos停止維護後的選擇 Centos停止維護後的選擇 Apr 14, 2025 pm 08:51 PM

CentOS 已停止維護,替代選擇包括:1. Rocky Linux(兼容性最佳);2. AlmaLinux(與 CentOS 兼容);3. Ubuntu Server(需要配置);4. Red Hat Enterprise Linux(商業版,付費許可);5. Oracle Linux(與 CentOS 和 RHEL 兼容)。在遷移時,考慮因素有:兼容性、可用性、支持、成本和社區支持。

centos停止維護後怎麼辦 centos停止維護後怎麼辦 Apr 14, 2025 pm 08:48 PM

CentOS 停止維護後,用戶可以採取以下措施應對:選擇兼容髮行版:如 AlmaLinux、Rocky Linux、CentOS Stream。遷移到商業發行版:如 Red Hat Enterprise Linux、Oracle Linux。升級到 CentOS 9 Stream:滾動發行版,提供最新技術。選擇其他 Linux 發行版:如 Ubuntu、Debian。評估容器、虛擬機或云平台等其他選項。

docker desktop怎麼用 docker desktop怎麼用 Apr 15, 2025 am 11:45 AM

如何使用 Docker Desktop? Docker Desktop 是一款工具,用於在本地機器上運行 Docker 容器。其使用步驟包括:1. 安裝 Docker Desktop;2. 啟動 Docker Desktop;3. 創建 Docker 鏡像(使用 Dockerfile);4. 構建 Docker 鏡像(使用 docker build);5. 運行 Docker 容器(使用 docker run)。

vscode需要什麼電腦配置 vscode需要什麼電腦配置 Apr 15, 2025 pm 09:48 PM

VS Code 系統要求:操作系統:Windows 10 及以上、macOS 10.12 及以上、Linux 發行版處理器:最低 1.6 GHz,推薦 2.0 GHz 及以上內存:最低 512 MB,推薦 4 GB 及以上存儲空間:最低 250 MB,推薦 1 GB 及以上其他要求:穩定網絡連接,Xorg/Wayland(Linux)

See all articles