Linux學習之Linux系統權限

? ? ? ? 在上一篇的內容中我們學習到了Linux系統命令相關的知識及其相關的擴展內容,本期我們將學習Linux基礎的另一個重要部分:Linux系統權限管理

????????作者的個人gitee:樓田莉子 (riko-lou-tian) - Gitee.com

目錄

權限概念及必要性

? ? ? ? 什么是權限

? ? ? ? 為什么要有權限

? ? ? ? 權限=人+文件屬性

? ? ? ? su指令

Linux的權限管理? ? ? ??

? ? ? ? 文件訪問者

? ? ? ? 那么Linux系統下為什么會有系統組呢?

? ? ? ? 所屬組的核心作用

? ? ? ? 用戶與組的關系

? ? ? ? 組信息存儲位置

?關鍵命令總結:

????????文件屬性及其權限

文件訪問權限相關的設置

? ? ? ? 1、chmod

????????2、chown

? ? ? ? 3、chgrp

???????? file指令

????????使用sudo分配權限

????????目錄的權限

關于權限的總結

粘滯位(選擇性學習)??編輯

????????三個問題


權限概念及必要性

? ? ? ? 什么是權限

? ? ? ? 權限是訪問一種資源的時候決定我們能還是不能的問題。

? ? ? ? 為什么要有權限

? ? ? ? 那么為什么Linux要有權限呢?因為Linux系統是一個多用戶系統,同時會有多個人來登錄訪問。如果沒有權限之分,那么隨意一個用戶就可以對別人的數據進行增刪查改,這是極其危險的行為。

? ? ? ? 因此,權限的本質就是為了更好的用戶管理

? ? ? ? 權限=人+文件屬性

? ? ? ? 權限是針對特定群體的——與人有關。因為Linux系統下一切皆文件,因此其目標主題必然天然帶有一定的屬性才能訪問

? ? ? ? 文件的屬性有三類:r(可讀)、w(可寫)、x(可執行)

? ? ? ? Linux下有兩種類型的用戶:普通用戶、root用戶。

? ? ? ? root用戶:可以在Linux系統上做任何事情不受限制。

? ? ? ? 普通用戶:在Linux系統下做有限的事情。

? ? ? ? 在Linux系統中。root用戶的提示符是“#”,普通用戶的提示符是“$”

? ? ? ? su指令

? ? ? ? 語法:

su[用戶名]

? ? ? ? 功能:切換用戶。

? ? ? ? 比如su user就會從root用戶轉換為user用戶。要從普通??user切換到root??則使? su root(root可以省略),此時系統會提?輸?root??的?令。

? ? ? ? 但是當我們作為普通賬號要進行安裝軟件的時候,酒席要將軟件拷貝到指定目錄下,但是OS會阻止我們拷貝,那是否只能讓管理員來進行安裝呢?不是的。有一個命令sudo可以解決。

? ? ? ? sudo命令是普通賬戶進行短暫提權的命令。

? ? ? ? 普通用戶默認是無法使用sudo的(自己安裝的虛擬機除外)。

? ? ? ? 什么是白名單呢?與黑名單相對,無條件同意。普通賬戶默認不是白名單?

? ? ? ? root賬戶可以決定哪個普通用戶是白名單內成員

Linux的權限管理
? ? ? ??

? ? ? ? 文件訪問者

? ? ? ? Linux系統下的角色:

?????????件和?件?錄的所有者:u---User(中國平? 法律問題)
?????????件和?件?錄的所有者所在的組的??:g---Group(不多說)
????????其它??:o---Others (外國?)

? ? ? ? 具體如下:

? ? ? ? 那么Linux系統下為什么會有系統組呢?

????????因為在 Linux 系統中,用戶的所屬組(User Groups)?是權限管理的核心機制之一,它通過組(Group)?將用戶分類,實現批量分配文件/目錄的訪問權限

? ? ? ? 所屬組的核心作用

? ? ? ? 1、權限共享:同組用戶自動繼承該組對文件/目錄的權限(讀/寫/執行),無需單獨配置每個用戶。

? ? ? ? 2、資源隔離:不同組的用戶無法訪問彼此的資源(除非顯式授權)

? ? ? ? 3、簡化管理:修改組的權限 = 批量修改組內所有用戶的權限

? ? ? ? 用戶與組的關系

? ? ? ? 1、主組

  • 每個用戶必須屬于且僅有一個主組(創建用戶時自動生成同名組)。

  • 用戶新建文件時,文件的默認所屬組 = 用戶的主組。

  • 查看命令:id?或?groups

    $ id alice
    uid=1001(alice) gid=1001(alice) groups=1001(alice),1005(developers)
    # gid=1001(alice) → 主組是 "alice"

? ? ? ? 2、附加組

  • 用戶可加入零個或多個附加組,獲得額外的權限。

  • 示例:用戶?alice?加入?developers?組后,可訪問該組授權的項目目錄。

  • 管理命令:

    usermod -aG developers alice  # 將 alice 添加到 developers 組(不改變主組)
    groups alice                  # 查看 alice 的所有所屬組

? ? ? ? 組信息存儲位置
文件作用示例內容
/etc/passwd記錄用戶的?UID 和主組 GIDalice:x:1001:1001::/home/alice:/bin/bash
/etc/group定義組及其成員列表developers:x:1005:alice,bob
(組名:密碼占位符:GID:成員列表)

解析?/etc/group

  • developers:組名

  • x:加密密碼占位符(實際密碼在?/etc/gshadow

  • 1005:組 ID (GID)

  • alice,bob:組成員列表(用逗號分隔)

?關鍵命令總結:
命令作用
groups [用戶名]查看用戶的所有所屬組
id [用戶名]顯示用戶 UID、GID 及組列表
usermod -aG 組名 用戶名將用戶添加到附加組
gpasswd -d 用戶 組名從組中移除用戶
newgrp 組名臨時切換用戶的主組(需有權限)

????????文件屬性及其權限

?????????件類型:

????????? d:?件夾

????????? -:普通?件

????????? l:軟鏈接(類似Windows的快捷?式)

????????? b:塊設備?件(例如硬盤、光驅等)

????????? p:管道?件

????????? c:字符設備?件(例如屏幕等串?設備)

????????? s:套接??件

基本權限:

????????? 讀(r/4):Read對?件??,具有讀取?件內容的權限;對?錄來說,具有瀏覽該?錄信息的權限

????????? 寫(w/2):Write對?件??,具有修改?件內容的權限;對?錄來說具有刪除移動?錄內

?件的權限

????????? 執?(x/1):execute對?件??,具有執??件的權限;對?錄來說,具有進??錄的權

????????? “—”表?不具有該項權限

? ? ? ? Linux中的舉例說明

? ? ? ? 那么如何表達一個文件的權限?

文件訪問權限相關的設置

? ? ? ? 1、chmod

? ? ? ? 語法:

chmod [參數] 權限 ?件名 

? ? ? ? 功能:設置?件的訪問權限
????????常?選項:

?????????R -> 遞歸修改?錄?件的權限

????????說明:只有?件的擁有者和root才可以改變?件的權限

????????chmod命令權限值的格式:

? ? ? ? ? ??表?符+/-=權限字符

?????????+:向權限范圍增加權限代號所表?的權限

?????????-:向權限范圍取消權限代號所表?的權限

?????????=:向權限范圍賦予權限代號所表?的權限

???????????符號:

?????????u:擁有者

?????????g:擁有者同組?

?????????o:其它??

?????????a:所有??

? ? ? ? 舉例說明:

????????2、chown

????????語法:

chown [參數] ??名 ?件名 

????????功能:修改?件的擁有者

? ? ? ? 3、chgrp

? ? ? ? 語法:

chgrp [參數] ??組名 ?件名

? ? ? ? 功能:修改?件或?錄的所屬組

????????常?選項:-R 遞歸修改?件或?錄的所屬組

? ? ? ? 4、unmask

????????語法:

格式:umask 權限值  

????????功能:

????????查看或修改?件掩碼

????????新建?件夾默認權限=0666

????????新建?錄默認權限=0777

????????但實際上你所創建的?件和?錄,看到的權限往往不是上?這個值。原因就是創建?件或?錄的

????????時候還要受到umask的影響。假設默認權限是mask,則實際創建的出來的?件權限是: mask &

~umask

????????說明:將現有的存取權限減去權限掩碼后,即可產?建??件時預設權限。超級??默認掩碼值為0022,普通??默認為0002
? ? ? ?

???????? file指令

語法:

file [選項] ?件或?錄...

功能:辨識?件類型

常?選項:

? -c:詳細顯?指令執?過程,便于排錯或分析程序執?的情形。

? -z:嘗試去解讀壓縮?件的內容。

????????使用sudo分配權限

????????(1)修改/etc/sudoers ?件分配?件

# chmod 740 /etc/sudoers
# vi /etc/sudoer

????????(2)使? sudo 調?授權的命令
?

$ sudo –u ??名 命令

????????目錄的權限

? ? ? ? 目錄有三種權限:

????????可執?權限: 如果?錄沒有可執?權限, 則?法cd到?錄中.

????????可讀權限: 如果?錄沒有可讀權限, 則?法?ls等命令查看?錄中的?件內容.

????????可寫權限: 如果?錄沒有可寫權限, 則?法在?錄中創建?件, 也?法在?錄中刪除?件.

????????于是, 問題來了~~ 換句話來講, 就是只要??具有?錄的寫權限, ??就可以刪除?錄中的?件, ?不論這個??是否有這個?件的寫權限.

????????這好像不太科學啊, 我張三創建的?個?件, 憑什么被你李四可以刪掉?

我們用下面這段進行驗證

為了解決這個不科學的問題, Linux引?了粘滯位的概念


關于權限的總結

? ?錄的可執?權限是表?你可否在?錄下執?命令。

? 如果?錄沒有 -x 權限,則?法對?錄執?任何命令,甚??法 cd 進??, 即使?錄仍然有 -r 讀

權限(這個地?很容易犯錯,認為有讀權限就可以進??錄讀取?錄下的?件)

? ?如果?錄具有 -x 權限,但沒有 -r 權限,則??可以執?命令,可以 cd 進??錄。但由于沒有

?錄的讀權限

? 所以在?錄下,即使可以執? ls 命令,但仍然沒有權限讀出?錄下的?檔。

粘滯位(選擇性學習)
?

????????當?個?錄被設置為"粘滯位"(?chmod +t),則該?錄下的?件只能由

1. 超級管理員刪除

2. 該?錄的所有者刪除

3. 該?件的所有者刪除

留下三個問題:

????????三個問題

1、進入一個目錄需要什么權限?

2、為什么我們新建一個文件默認權限是我們看到的那個樣子?

3、沒有rmx我們能刪除這個文件嗎?

? ? ? ? 這些部分我后面會補充。

? ? ? ? 本期內容就到這里,喜歡請點個贊謝謝

封面圖自取:

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

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

相關文章

Web3.0 能為你帶來哪些實質性的 改變與突破

如今各種大廠裁員消息層出不窮,今年又添飛書、剪映、微軟、思科... 這有一張網友整理的去年互聯網大廠裁員裁員信息表: 目前國內很多大廠都在裁員,非常現實、且越來越多 35 技術人,正在面臨這樣的問題,那么Web3.0 確實…

doker centos7安裝1

1.什么是doker Docker 是一個開源的應用容器引擎,它允許開發者將應用程序及其依賴項打包到一個可移植的容器中,然后發布到任何支持 Docker 的操作系統上,實現 “一次構建,到處運行”。 容器是一種輕量級的虛擬化技術&#xff0c…

自動化面試題

1、什么是測試套件測試套件是多個測試用例的集合。2、搭建接口自動化框架中,你遇到最大的難點是什么,以及怎么解決的?測試數據動態管理難點:接口依賴動態參數(如Token、訂單ID),數據無法硬編碼.解決方案:使用關聯提取(如正則提取響應中的Tok…

【Linux】LVS(Linux virual server)環境搭建

一、LVS的運行原理1.1 LVS簡介LVS:Linux Virtual Server,負載調度器,內核集成,章文嵩,阿里的四層SLB(Server LoadBalance)是基于LVSkeepalived實現LVS 官網: http://www.linuxvirtualserver.org/ LVS 相關術語 VS: Virtual Server…

算法競賽備賽——【圖論】求最短路徑——Dijkstra

Dijkstra 用來計算從一個點到其他所有點的最短路徑的算法&#xff0c;是一種單源最短路徑算法。也就是說&#xff0c;只能計算起點只有一個的情況。Dijkstra的時間復雜度是O (|v|^2)&#xff0c;它不能處理存在負邊權的情況。 鄰接矩陣存圖 #include<iostream> using …

影刀 RPA:批量修改 Word 文檔格式,高效便捷省時省力

在日常辦公和文檔處理中&#xff0c;Word 文檔格式的統一和規范是許多企業和個人用戶的重要需求。無論是撰寫報告、制作提案&#xff0c;還是整理資料&#xff0c;都需要確保文檔格式的一致性。然而&#xff0c;手動修改多個 Word 文檔的格式不僅耗時費力&#xff0c;還容易因疏…

GitLab 社區版 10.8.4 安裝、漢化與使用教程

一、GitLab 安裝 GitLab 提供了集成所需軟件的 RPM 包&#xff0c;簡化了安裝流程。我們選擇安裝社區版&#xff08;CE&#xff09;10.8.4&#xff0c;可通過官方網站或國內鏡像源&#xff08;如清華鏡像&#xff09;獲取安裝包。 1. 準備工作 首先創建工具目錄并進入&#…

[硬件電路-64]:模擬器件 -二極管在穩壓電路中的應用

二極管在穩壓電路中的應用主要基于其單向導電性和特定類型二極管&#xff08;如穩壓二極管&#xff09;的電壓穩定特性。以下是詳細解釋&#xff1a;一、普通二極管的穩壓作用&#xff08;有限場景&#xff09;正向導通壓降的利用&#xff1a;原理&#xff1a;普通二極管在正向…

【Linux】重生之從零開始學習運維之Nginx

安裝apt/yum安裝apt imstall nginx yum install nginxRocky源碼編譯安裝基礎編譯環境yum install gcc make gcc-c glibc glibc-devel pcre pcre-devel openssl openssldevel systemd-devel zlib-devel yum install libxml2 libxml2-devel libxslt libxslt-devel php-gd gd-deve…

主流 MQ 的關鍵性能指標

常用消息隊列&#xff08;MQ&#xff09;的“數量級”通常圍繞吞吐量&#xff08;TPS&#xff0c;每秒處理消息數&#xff09;、消息堆積能力、延遲三個核心指標展開&#xff0c;不同MQ因設計目標&#xff08;高吞吐、低延遲、高可靠等&#xff09;不同&#xff0c;數量級差異顯…

[NIPST AI]對抗性機器學習攻擊和緩解的分類和術語

原文link&#xff1a;https://nvlpubs.nist.gov/nistpubs/ai/NIST.AI.100-2e2025.pdf Introduction 人工智能&#xff08;AI&#xff09;系統在過去幾年中持續全球擴展。這些系統正在被眾多國家開發并廣泛部署于各自的經濟體系中&#xff0c;人們在生活的許多領域都獲得了更多使…

[深度學習] 大模型學習3上-模型訓練與微調

在文章大語言模型基礎知識里&#xff0c;模型訓練與微調作為大語言模型&#xff08;Large Language Model&#xff0c;LLM&#xff09;應用構建的主要方式被簡要提及&#xff0c;本系列文章將從技術原理、實施流程及應用場景等維度展開深度解析。相關知識的進一步參考見&#x…

Claude Code 啟動提示 Note: Claude Code might not be available in your country. 解決

如下圖所示 主播參考了在別的地方看來的解決方案&#xff08;并非主播不想標注來源&#xff0c;主要是忘記是哪里看來的了&#xff0c;下班就忘記了&#xff0c;懶得找了&#x1f62d;&#xff0c;如果后續找到會補上的&#xff09;。 好了&#xff0c;開始正文&#xff0c;開始…

Unity VR多人手術系統恢復3:Agora語音通訊系統問題解決全記錄

&#x1f3af; 前言 這是一個Unity多人VR手術模擬項目&#xff0c;已經擱置了近兩年時間。最近重新啟動了這個項目&#xff0c;然而在恢復過程中卻遇到了些的技術障礙。 項目重啟遇到的挑戰 當我們重新部署和測試系統時&#xff0c;發現原本運行良好的Agora語音通訊功能完全…

sqli-labs靶場通關筆記:第46-53關 order by注入

目錄 第46關 order by注入 第47關 閉合的order by注入 第48關 無報錯回顯的數字型order by注入 第49關 無報錯回顯的閉合型order by注入 第50關 基于order by的堆疊注入 第51關 閉合的報錯注入或堆疊注入 第52關 數字型盲注或堆疊注入 第53關 閉合的盲注或堆疊注入 第…

cdh6.3.2的hive使用apache paimon格式只能創建不能寫報錯的問題

前言根據官網paimon安裝教程&#xff0c;看上去簡單&#xff0c;實則報錯阻礙使用的信心。 解決方法原帶的jars下的zstd開頭的包舊了&#xff0c;重新下載zstd較新的包單獨放到每個節點的hive/lib下;然后將hdfs yarn用戶下的mr-framework.tar.gz中的zstdjar包替換成新的版本。重…

【Vue進階學習筆記】實現圖片懶加載

創建Vue項目 首先確保你已安裝Vue CLI&#xff0c;然后創建一個新的Vue 3項目&#xff1a; npm init vuelatest安裝依賴 安裝vueuse/core庫&#xff0c;它提供了useIntersectionObserver組合式API&#xff1a; cnpm install cnpm install vueuse/core創建指令文件夾和文件 在sr…

深入理解 synchronized

深入理解 synchronized 引言&#xff1a;synchronized的核心地位 在Java并發編程中&#xff0c;synchronized關鍵字是實現線程安全的基石。自JDK 1.0引入以來&#xff0c;它經歷了從"重量級鎖"到"自適應鎖"的進化&#xff0c;如今已成為兼顧安全性與性能的…

C語言字符串相關函數

C語言筆記內容提要數組字符串基本操作字符串相關函數綜合案例&#xff1a;學生成績管理系統數組字符串基本操作在用格式化說明符%s進行輸入輸出時&#xff0c;其輸入輸出項均為數組名。但在輸入時&#xff0c;相鄰兩個字符串之間要用空格分隔&#xff0c;系統將自動在字符串后加…

從零開始:用Python庫輕松搭建智能AI代理

為什么要關注AI代理&#xff1f; “Agentic AI”&#xff08;智能代理&#xff09;正在悄然改變我們的工作方式。想象一下&#xff0c;一個AI助手不僅能幫你查航班、訂機票&#xff0c;還能自動安排行程、發郵件、生成日報——就像一個效率極高的“虛擬助理”團隊。 對于測試工…