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

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

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

在 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中文網其他相關文章!

陳述
本文轉載於:Linux就该这么学。如有侵權,請聯絡admin@php.cn刪除
互聯網在Linux上運行嗎?互聯網在Linux上運行嗎?Apr 14, 2025 am 12:03 AM

互聯網運行不依賴單一操作系統,但Linux在其中扮演重要角色。 Linux廣泛應用於服務器和網絡設備,因其穩定性、安全性和可擴展性受歡迎。

Linux操作是什麼?Linux操作是什麼?Apr 13, 2025 am 12:20 AM

Linux操作系統的核心是其命令行界面,通過命令行可以執行各種操作。 1.文件和目錄操作使用ls、cd、mkdir、rm等命令管理文件和目錄。 2.用戶和權限管理通過useradd、passwd、chmod等命令確保系統安全和資源分配。 3.進程管理使用ps、kill等命令監控和控制系統進程。 4.網絡操作包括ping、ifconfig、ssh等命令配置和管理網絡連接。 5.系統監控和維護通過top、df、du等命令了解系統運行狀態和資源使用情況。

使用Linux別名提高自定義命令快捷方式的生產率使用Linux別名提高自定義命令快捷方式的生產率Apr 12, 2025 am 11:43 AM

介紹 Linux是一個強大的操作系統,由於其靈活性和效率,開發人員,系統管理員和電源用戶都喜歡。但是,經常使用長而復雜的命令可能是乏味的

Linux實際上有什麼好處?Linux實際上有什麼好處?Apr 12, 2025 am 12:20 AM

Linux適用於服務器、開發環境和嵌入式系統。 1.作為服務器操作系統,Linux穩定高效,常用於部署高並發應用。 2.作為開發環境,Linux提供高效的命令行工具和包管理系統,提升開發效率。 3.在嵌入式系統中,Linux輕量且可定制,適合資源有限的環境。

在Linux上掌握道德黑客的基本工具和框架在Linux上掌握道德黑客的基本工具和框架Apr 11, 2025 am 09:11 AM

簡介:通過基於Linux的道德黑客攻擊數字邊界 在我們越來越相互聯繫的世界中,網絡安全至關重要。 道德黑客入侵和滲透測試對於主動識別和減輕脆弱性至關重要

如何學習Linux基礎知識?如何學習Linux基礎知識?Apr 10, 2025 am 09:32 AM

Linux基礎學習從零開始的方法包括:1.了解文件系統和命令行界面,2.掌握基本命令如ls、cd、mkdir,3.學習文件操作,如創建和編輯文件,4.探索高級用法如管道和grep命令,5.掌握調試技巧和性能優化,6.通過實踐和探索不斷提陞技能。

Linux最有用的是什麼?Linux最有用的是什麼?Apr 09, 2025 am 12:02 AM

Linux在服務器、嵌入式系統和桌面環境中的應用廣泛。 1)在服務器領域,Linux因其穩定性和安全性成為託管網站、數據庫和應用的理想選擇。 2)在嵌入式系統中,Linux因其高度定制性和高效性而受歡迎。 3)在桌面環境中,Linux提供了多種桌面環境,滿足不同用戶需求。

Linux的缺點是什麼?Linux的缺點是什麼?Apr 08, 2025 am 12:01 AM

Linux的缺點包括用戶體驗、軟件兼容性、硬件支持和學習曲線。 1.用戶體驗不如Windows或macOS友好,依賴命令行界面。 2.軟件兼容性不如其他系統,缺乏許多商業軟件的原生版本。 3.硬件支持不如Windows全面,可能需要手動編譯驅動程序。 4.學習曲線較陡峭,掌握命令行操作需要時間和耐心。

See all articles

熱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.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

SublimeText3 Mac版

SublimeText3 Mac版

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

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中