33. 【Linux教程】Linux 用戶組

前面小節介紹了 Linux 用戶相關的增刪改查,本小節介紹 Linux 用戶組,Linux 系統中采取了一種安全機制(即用戶組),用戶組可以允許多個 Linux 用戶共享同一種權限。

1. 用戶組介紹

Linux 是多任務多用戶的操作系統,可以理解為在 Linux 系統中支持多個用戶在同一時間內在不同的終端登陸,并且不同用戶可以調用不同的任務,它們之間互不影響

不同的 Linux 用戶權限不同,毎個用戶可以執行指定權限范圍內的任務,Linux 系統通過這種權限的管理劃分,實現了多用戶多任務的運行機制。因此,如果要使用 Linux 系統的資源,就需要向系統管理員申請一個用戶。

通過建立不同權限的用戶,可以合理地利用和控制系統資源,還能幫助用戶組織文件,提供對用戶文件的安全性保護。用戶組是具有相同特征用戶的邏輯集合,簡單的理解,有時我們需要讓多個用戶具有相同的權限,例如新建、刪除、修改、查看文件的權限,可以分別對多個用戶進行文件訪問授權,但如果用戶多了,挨個的給用戶授權這種方式就不太合理。

最好的方式是建立一個組,讓這個組具有新建、刪除、修改、查看文件的權限,然后將所有需要訪問此文件的用戶放入這個組中,每個組都會有唯一的 GID這樣所有組中用戶就具有了和組一樣的權限

2. 查看 Linux 用戶組

Linux 系統中?/etc/group?文件保存的就是系統中所有的用戶組的主要信息,和用戶文件?/etc/passwd?類似,這些信息以?:?分隔,可以使用?cat?命令查看其中的信息,命令如下:

cat /etc/group

執行結果如下圖:

Tips:如上圖所示,每行代表一個用戶組。

/etc/group?文件中每行用戶包含的信息如下:

  • 組名;
  • 組密碼(以?x?表示);
  • 組 ID(GID);
  • 屬于該組的用戶列表。

Tips:組密碼允許非組內的成員通過它臨時使用該組的權限。

3. 查看 Linux 用戶組信息

Linux 中?/etc/gshadow?文件上保存了每個用戶組的信息,該文件和?/etc/shadow?類似,只有?root?用戶才能訪問,這個文件中包含每個用戶組的一條記錄信息,使用?cat?命令查看:

cat /etc/gshadow

執行結果如下圖:

這些信息以?:?分隔,/etc/gshadow?文件中每行用戶包含的信息如下:

  • 組名;
  • 加密密碼;
  • 組管理員;
  • 組附加用戶列表。

4. 查看用戶的 ID 信息

若想要查看某一個 Linux 用戶的?組ID(GID)?和?用戶ID(UID)?,可以使用?id?命令,命令如下:

id rootid user_name01id user_name02

執行結果如下圖:

Tips:最后的字段?組=gid?表示的是用戶所在組,這里既可以看到初始組,如果有附加組,則也能看到附加組。

5. 小結

本小節介紹了用戶組的作用,用戶組在系統中可以方便管理不同權限組的用戶,需要注意的是同一個用戶可以加入到不同的組中,擁有不同的組分配的權限,非組內用戶可以通過組密碼臨時使用組的權限。還介紹了用戶組相關的兩個文件?/etc/group?和?/etc/gshadow,最后介紹了如何使用?id?命令查看用戶的?UID?和?GID?信息。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/713553.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/713553.shtml
英文地址,請注明出處:http://en.pswp.cn/news/713553.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

鴻蒙Harmony應用開發—ArkTS聲明式開發(自定義事件分發)

ArkUI在處理觸屏事件時,會在觸屏事件觸發前進行按壓點和組件區域的觸摸測試,來收集需要響應觸屏事件的組件,再基于觸摸測試結果分發相應的觸屏事件。在父節點,開發者可以通過onChildTouchTest決定如何讓子節點去做觸摸測試&#x…

【AI Agent系列】【MetaGPT多智能體學習】5. 多智能體案例拆解 - 基于MetaGPT的智能體辯論(附完整代碼)

本系列文章跟隨《MetaGPT多智能體課程》(https://github.com/datawhalechina/hugging-multi-agent),深入理解并實踐多智能體系統的開發。 本文為該課程的第四章(多智能體開發)的第三篇筆記。主要是對課程剛開始環境搭…

Linux系統——Shell腳本——一鍵安裝LNMP

#!/bin/bash #安裝nginx echo "安裝nginx服務" wget http://nginx.org/download/nginx-1.11.4.tar.gz &>/dev/null if [ $? -eq 0 ] thenecho "nginx-1.11.4安裝包下載完成"echo "--開始安裝必要的依賴文件--"yum install -y gcc gcc-c…

python中map函數

map(str, path): map函數會將path中的每一個元素傳遞給str函數,從而將它們轉換為字符串。 如果path是一個數字列表,例如[1, 2, 3],那么map(str, path)將返回[1, 2, 3]。 在寫二叉樹時用到map給樹節點進行str轉換是錯的。 map(s…

xsslabs第五關

看一下源碼 <!DOCTYPE html><!--STATUS OK--><html> <head> <meta http-equiv"content-type" content"text/html;charsetutf-8"> <script> window.alert function() { confirm("完成的不錯&#xff01…

MATLAB知識點:條件判斷 if-elseif-else-end語句

?講解視頻&#xff1a;可以在bilibili搜索《MATLAB教程新手入門篇——數學建模清風主講》。? MATLAB教程新手入門篇&#xff08;數學建模清風主講&#xff0c;適合零基礎同學觀看&#xff09;_嗶哩嗶哩_bilibili 節選自?第4章&#xff1a;MATLAB程序流程控制 if、elseif、…

webstorm 創建運行純Typescript項目

創建一個空項目&#xff0c;在項目根目錄創建一個tsconfig.json文件自動配置&#xff1a; 打開終端輸入tsc --init&#xff0c;即可自動生成tsconfig.json文件手動配置&#xff1a; 在項目根目錄下新建一個tsconfig.json文件,并配置如下內容 具體配置可以直接使用下面的配置&am…

【JavaEE】_Spring MVC項目之建立連接

目錄 1. Spring MVC程序編寫流程 2. 建立連接 2.1 RequestMapping注解介紹 2.2 RequestMapping注解使用 2.2.1 僅修飾方法 2.2.2 修飾類與方法 2.3 關于POST請求與GET請求 2.3.1 GET請求 2.3.2 POST請求 2.3.3 限制請求方法 1. Spring MVC程序編寫流程 1. 建立連接&…

如何開好一家汽車美容店,汽車美容保養與裝飾教學

一、教程描述 本套教程共由17張VCD組合而成&#xff0c;教程內容主要包括&#xff1a;美容店的設立和管理&#xff0c;汽車系統與內部結構&#xff0c;汽車美容工具與美容設備&#xff0c;美容用品的選擇與使用&#xff0c;車身打蠟鍍膜與內外清潔&#xff0c;車身拋光與漆面處…

Debezium發布歷史162

原文地址&#xff1a; https://debezium.io/blog/2023/09/22/debezium-2-4-cr1-released/ 歡迎關注留言&#xff0c;我是收集整理小能手&#xff0c;工具翻譯&#xff0c;僅供參考&#xff0c;筆芯筆芯. Debezium 2.4.0.CR1 Released September 22, 2023 by Chris Cranford r…

(介紹與使用)物聯網NodeMCUESP8266(ESP-12F)連接新版onenet mqtt協議實現上傳數據(溫濕度)和下發指令(控制LED燈)

前言 本文詳細介紹了如何利用物聯網技術,通過NodeMCU ESP8266(ESP-12F)模塊連接到新版的OneNet平臺,使用MQTT協議實現數據的上傳與指令的下發。文中首先對NodeMCU ESP8266模塊及其特性進行了簡介,隨后詳細闡述了如何配置和使用MQTT協議連接到OneNet平臺,實現溫濕度數據的…

Azkaban 大數據 任務調度

參考視頻&#xff1a;尚硅谷大數據Azkaban 3.x教程&#xff08;全新發布&#xff09;_嗶哩嗶哩_bilibili Azkaban&#xff1a; 是一個定時、批量工作流任務調度器(工作流程調度&#xff0c;定時調度) 常見的開源調度系統&#xff1a; 簡單單一的任務調度&#xff1a; Linux的…

嵌入式驅動學習第一周——Linux錯誤碼以及 IS_ERR、ERR_PTR、PTR_ERR

前言 本節來學習Linux錯誤碼&#xff0c;因為內核中的函數常常返回指針&#xff0c;如果出錯&#xff0c;也希望能夠通過返回的指針體現出來。 嵌入式驅動學習專欄將詳細記錄博主學習驅動的詳細過程&#xff0c;未來預計四個月將高強度更新本專欄&#xff0c;喜歡的可以關注本博…

【正點原子STM32】RNG硬件隨機數(隨機數發生器、真隨機和偽隨機、應用場景、RNG結構和原理、RNG相關寄存器和HAL庫驅動、RNG基本驅動步驟)

一、RNG簡介 二、RNG框圖介紹 三、RNG相關寄存器介紹 四、RNG相關HAL庫驅動介紹 五、RNG基本驅動步驟 六、編程實戰 七、總結 一、RNG簡介 隨機數發生器&#xff08;RNG&#xff09;在計算機科學和密碼學中具有廣泛的應用場景&#xff0c;包括但不限于以下幾個方面&#xff1a…

QML中動態表格修改數據

1.qml文件中的實現代碼 import QtQuick 2.15 import QtQuick.Window 2.15import QtQuick.Controls 2.0 import Qt.labs.qmlmodels 1.0 import QtQuick.Layouts 1.15Window {width: 640height: 480visible: truetitle: qsTr("Hello World")TableModel{id:table_model…

Python內置函數11——globals()、locals()

文章目錄 概要基礎用法 概要 globals()和locals()都是內置函數&#xff0c;用于獲取當前命名空間中的變量。 globals()函數返回全局命名空間的字典&#xff0c;包括全局變量、函數和模塊。它返回一個表示全局命名空間的字典。你可以使用該函數來查看和修改全局命名空間中的變量…

深入剖析k8s-控制器思想

引言 本文是《深入剖析Kubernetes》學習筆記——《深入剖析Kubernetes》 正文 控制器都遵循K8s的項目中一個通用的編排模式——控制循環 for {實際狀態 : 獲取集群中對象X的實際狀態期望狀態 : 獲取集群中對象X的期望狀態if 實際狀態 期望狀態 {// do nothing} else {執行…

buuctf misc做題筆記

喵喵喵 使用stegsolve.jar&#xff0c;按BGR順序提取出一個png圖片&#xff0c;是一個一半得二維碼&#xff0c;修改圖片高度后&#xff0c;解析出一個百度網盤地址&#xff0c;https://pan.baidu.com/s/1pLT2J4f 下載得到壓縮包flag.rar。解壓成功&#xff0c;但是報一個出錯…

4 在QEMU硬件模擬器中運行開源鴻蒙OpenHarmony4.1的操作系統,無需實體開發板

在QEMU硬件模擬器中運行開源鴻蒙OpenHarmony4.1的操作系統&#xff0c;無需實體開發板 作者將狼才鯨日期2024-03-01 先下載源碼和編譯程序&#xff1a; 查看 開源鴻蒙OpenHarmony4.1源碼下載、編譯&#xff0c;生成OHOS_Image可執行文件的最簡易流程 我準備在QEMU模擬器中運行…

LangChain---大型語言模型(LLM)的標準接口和編程框架

1.背景說明 公司在新的一年規劃中突然提出要搞生成式AI(GenAI)的相關東西&#xff0c;在公司分享的參考資料中了解到了一些相關的信息&#xff0c;之所以想到使用LangChain&#xff0c;是因為在應用中遇到了瓶頸問題&#xff0c;除了已經了解和研究過的OpenAI的ChatGpt&#xf…