【Linux】權限詳解 權限本質、權限屬性、su、sudo提權、chmod\chown\chgrp、文件類別

文章目錄

  • 一、權限的認識
  • 二、linux的權限本質
  • 三、linux的用戶
    • su指令
    • sudo提權
  • 四、linux角色
  • 五、文件權限屬性
  • 六、修改權限的指令操作
    • chmod指令(權限只會驗證一次)
    • chown/chgrp指令
    • 修改文件權限的八進制方案
  • 七、文件類別詳解


一、權限的認識

  • 什么是權限?
    生活中處處都有權限,本質就是你要做一件事能還是不能的問題,有權限就能做,沒權限就算你想做也不能做
  • 為什么linux要有權限?
    首先linux是一款多用戶的操作系統,也就意味著可能同時會有多個人來進行登陸訪問,如果一個用戶可以隨意讀取或修改其他用戶的文件,不就亂套了,所以權限本質就是為了更好的用戶管理。

二、linux的權限本質

在linux下權限=人+文件屬性,第一次聽可能很難理解,小編會在接下來的介紹中慢慢讓大家接受并理解的。
權限是針對特定的群體的,也就是是與人就關,在linux下有兩類人:普通用戶和root。
人訪問的目標主體要具備天然的屬性才能訪問,比如你在現代2025年就不能成為秦始皇去騎北極熊。在linux中由于一切皆文件,所以linux下的目標主體當然就是文件,文件一般具有三個屬性:可讀、可寫、可執行,如果用戶有讀一個文件的權限,但是文件本身沒有可讀屬性,那也讀不了。
所以你就通過設定文件特定的屬性,來約束特定的群體具有特定的權限。

三、linux的用戶

在linux中,用戶一般分為兩類,一類是超級用戶root,在99%的情況下不受權限的約束,屬于linux系統中的特權級別,一類是普通用戶,會受到一定的約束。

su指令

該指令可以實現root用戶與普通用戶之間互相切換。 su 用戶名
指令就可以切換到目標用戶,root切換到普通用戶是直接切換,不需要密碼普通用戶若想切換為root需要輸入root用戶的密碼。這里還有一個快捷熱鍵,ctrl+d可以切換回上一個用戶。

在這里插入圖片描述

除了上面指令可以切換外,直接 su 也可以由普通用戶切換為root,因為普通用戶可以由多個,但是root只有一個,所以su默認就是切換到root。 還有一個指令su -,也可以完成由普通用戶到root的切換,它和上面兩個指令的區別是它會以目標用戶重新登陸的方式切換,上面兩個指令只是切換用戶身份,不進行二次登陸所以不改變當前路徑。

在這里插入圖片描述

su也可以普通用戶與普通用戶之前切換,這種方式需要輸入登陸目標的用戶的密碼。

sudo提權

這里有一個場景,普通用戶想安裝軟件,安裝軟件本質就是將文件拷貝到指定系統的指定路徑下,而大多數情況操作系統不會讓普通用戶拷貝,只有root能拷貝,那這意味著只有root才能安裝軟件?這樣顯然與我們常識相背,所以linux支持讓普通用戶短暫提高權限,也就是sudo提權。示例如下:

在這里插入圖片描述

總結:sudo是一條能讓普通用戶的指令進行短暫提權的指令。
這里我想讀者應該和小編第一次接觸這個知識一樣,sudo是輸入的普通用戶自己的密碼,(這里輸入自己的密碼是合適的,因為sudo是讓普通用戶能短暫提權,如果要輸入root的密碼那sudo也需要管理員來操作,那和切換到root賬號就沒有本質區別了)那我每隔一定時間sudo一次,那我一直都有root的權限,那root不就形同虛設了嗎?
所以linux有一個規定,普通用戶默認是不能sudo提權的,(虛擬機除外)普通用戶sudo報錯如下:

在這里插入圖片描述

我們看到是因為普通用戶沒在一個叫做sudoers的文件里,sudoers是一個只能由root訪問修改的屬于root的配置文件,該文件相當于linux系統里的白名單,只有在該白名單里的用戶可以進行sudo提權,普通用戶默認是不在這個白名單里的,只有root把該用戶添加到了這個白名單他才能sudo。所以以后文件被惡意修改后也只能是白名單里的用戶操作的,可以縮小追查范圍。

四、linux角色

在現實世界,一個人所擁有的權限是由這個人的角色決定的,比如校長叫張三,他能開除學生學籍不是因為他是張三,而是因為他是校長這個角色,所以我們可以認為權限是依附于角色的
在linux系統里存在三種角色,一種是文件的擁有者(owner),一種是所屬組(group),一種是其他(other)。下面我們以hello.c文件為例來講解:

在這里插入圖片描述

用ll指令查看文件屬性只會顯示文件的擁有者和所屬組,不會顯示other,因為識別出用戶既不是擁有者也不是所屬組那么他就是other。
那么角色和我們前面 介紹的用戶有什么關系呢,相信大家都能猜個7788,答案是角色是由用戶來扮演的

文件的擁有者是指文件是由誰創建的,該文件屬于誰,我相信這很好理解,但是所屬組小編認為有必要詳細解釋一下:
如果文件角色只有owner和other的話,組長想看你寫的代碼那你只能開放other權限,就相當于你對所有other都開放了權限可以看你的代碼,就有可能讓其他組的競爭對手看到你的代碼。所以linux引入了所屬組,因為組長肯定在組內,只要把組權限放開組長就能看了。所屬組的存在就是方便對文件權限進行局部范圍組級別的管理。

五、文件權限屬性

文件的常見權限有三個:r(讀),w(寫),x(可執行)。

在這里插入圖片描述

我們看上圖,文件權限也會顯示在文件詳細屬性里,其中r w x權限順序固定無法修改,以r為例,若該文件可讀則顯示r,若不可讀則顯示-。
我們現在就可以將用戶、角色、文件屬性結合到一起來表達一個文件的權限,以test.c為例:
test.c文件的擁有者是root,所屬組也是root,該文件的擁有者對應的權限是可讀可寫不可執行,該文件的所屬組對應的權限是可讀不可寫不可執行,other沒在這里體現出來,該文件other對應的權限的可讀不可寫不可執行。

注意:文件具有可執行權限不代表該文件可以被執行,文件想要被執行需要兩個條件:文件本身是可執行文件且該文件有可執行權限

六、修改權限的指令操作

我們前面介紹過權限=人+文件屬性,所以要修改一個文件的權限可以從兩方面入手,一是修改文件的角色,二是修改特定角色的權限。

chmod指令(權限只會驗證一次)

我們先來介紹修改文件屬性的指令操作,只有root或文件的擁有者可以修改文件權限,(但是文件的擁有者無法更改文件的擁有者和所屬組,后面再細講)chmod就是修改文件屬性的指令,具體用法如下:

在這里插入圖片描述

只有普通用戶才受文件權限的約束,root是不受文件權限的約束的,所以這也可以印證之前介紹的root是linux系統中的特權。

下面我們再看一個例子:

在這里插入圖片描述

當我們把user的讀寫權限去掉后,那么在扮演user的用戶就算還扮演文件的所屬組,他也無法具有所屬組擁有的權限了,這就間接證明了一個結論:當用戶訪問文件時,確定自己相對文件的身份角色,只會驗證一次,也就是說,權限只會驗證一次
下面我們用指令chown來直接證明。

chown/chgrp指令

chown可以更改文件的擁有者,chgrp可以更改文件的所屬組,下面這個例子可以證明權限只會驗證一次:

在這里插入圖片描述

由于現在test.txt文件的擁有者被改為了root,所以whb就會被驗證為所屬組,所屬組就有對應的讀寫權限。

chown還可以通過以下指令同時更改文件的擁有者和所屬組:

在這里插入圖片描述

這里小編還想仔細聊聊有關修改文件對應角色的用戶的問題:
1、首先文件的角色是不能被修改的,也就是無法修改ll后顯示出來的文件屬性的那個特定位置代表的角色和權限,只能修改角色下的用戶,也就是修改擁有者或者所屬組是誰。
2、沒有修改文件other的指令,因為修改擁有者和所屬組就是在變相修改other。
3、文件的擁有者只能更改文件的屬性,但是他不能更改文件的擁有者和所屬組。因為把文件的擁有者和所屬組修改為別人或者別組需要征得別人的同意,但是再linux中我們無法征得別人同意,所以要把文件的擁有者和所屬組修改為別人需要超級用戶的權限,也就是直接用root修改或者sudo提權修改。

修改文件權限的八進制方案

我們知道文件的一個角色有三種權限,是否有權限可以被看作數字1和0,有權限為1,沒有權限為0,所以一個角色的的權限就有8種可能,我們可以用數字0~7來表示這8種可能,我們就可以用這樣的8進制方案來修改文件屬性:

在這里插入圖片描述

七、文件類別詳解

之前我們已經接觸過了普通文件(-),和目錄(d),其實linux中的文件不止這兩類,下面我們來詳細認識一下有哪些文件和文件對應的特點:

  • 普通文件( - ): 如源代碼、文本、動靜態庫、可執行
  • 目錄( d ):
  • 鏈接文件( l )
  • 管道文件( p )
  • 字符文件( c ): 如鍵盤、顯示器,它必須按順序輸入輸出,不支持隨機讀寫,以字節為單位,這種文件都是以字符的形式輸入輸出,比如輸出一個1234到顯示器上,是用printf或cout格式化輸出,以字符’1‘’2‘’3‘’4‘顯示在顯示器上
  • 塊設備文件( b ): 如磁盤, 它支持隨機隨機讀寫,以塊(4kb)為單位

以上就是小編分享的全部內容了,如果覺得不錯還請留下免費的關注和收藏如果有建議歡迎通過評論區或私信留言,感謝您的大力支持。
一鍵三連好運連連哦~~

在這里插入圖片描述

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

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

相關文章

rman清理歸檔

1進入rman rman target / 2:列出所有歸檔日志的路徑 LIST ARCHIVELOG ALL; 3.然后在執行 crosscheck archivelog all;(檢查 RMAN 存儲庫中記錄的歸檔日志是否在磁盤或備份存儲中實際存在。 4.然后在執行 delete noprompt expired archivelog all;&…

Selenium 處理動態網頁與等待機制詳解

在使用 Selenium 進行網頁自動化操作時,動態網頁往往是開發者遇到的第一個 “攔路虎”。想象一下:你明明在代碼中寫好了元素定位邏輯,運行時卻頻繁報錯 “元素不存在”,但手動打開網頁時元素明明就在眼前 —— 這很可能是因為網頁…

Salesforce 與外部系統實時集成:基于事件驅動的異步集成架構

在 Salesforce 與外部系統(如 ERP、財務系統、物流系統等)的實時集成中,“穩定性” 是核心挑戰 —— 既要保證數據同步的及時性,又要應對網絡波動、系統故障、并發沖突等不可控因素。以下從問題本質、技術瓶頸、解決方案細節三個維…

React 的 `cache()` 函數

文章目錄前言一、核心作用二、工作原理三、使用場景1. 避免重復數據請求2. 優化昂貴計算四、緩存規則詳解五、與其它緩存方式對比六、服務端特殊行為七、最佳實踐八、緩存失效策略九、使用限制十、與數據獲取庫集成總結:何時使用 cache()前言 React 的 cache() 函數…

大白編譯——autotools與cmake

注意: 本文內容于 2025-07-20 01:58:56 創建,可能不會在此平臺上進行更新。如果您希望查看最新版本或更多相關內容,請訪問原文地址:大白編譯——autotools與cmake。感謝您的關注與支持! 之前記錄了通過autotools編譯rpm包與deb包的步驟。參考小白編譯——rpm包與deb包 - …

react19+nextjs+antd切換主題顏色

在 React 19 Next.js Ant Design 項目中實現主題切換功能,可以通過以下步驟完成。這里將提供完整方案,包含靜態主題切換和動態實時切換兩種方式。一、基礎配置(Ant Design 主題支持) 1. 安裝必要依賴 npm install antd ant-desi…

Modbus Slave 使用教程:快速搭建模擬從站進行測試與開發

文章目錄Modbus Slave 使用教程:快速搭建模擬從站進行測試與開發步驟詳解:搭建 Modbus Slave1. 安裝與啟動2. 配置從站連接 (Connection Setup)連接3. 定義從站數據 (設置寄存器/線圈映射)4. 設置初始值與變化模式 (可選但重要)5. 連接 Master 進行測試高…

通俗易懂神經網絡:從基礎到實現

引言 神經網絡是人工智能和深度學習的核心,它模仿人腦的工作方式,通過數據學習復雜的模式。本文將以通俗易懂的方式講解神經網絡的基礎知識,包括單層神經網絡、多層神經網絡,最后用Python代碼實現一個簡單的神經網絡模型。1. 神經…

【Linux】基本指令詳解(三) 指令本質、三個查找指令、打包壓縮、重要熱鍵、linux體系結構、命令行解釋器

文章目錄date指令cal指令find指令(指令本質也是文件)which指令file指令whereis指令alias指令grep指令top指令打包和壓縮指令zip/unzip指令關于rzsz(linux與windows互傳 )tar指令linux機器之間互傳bc指令uname指令(查看linux機器體系結構)幾個重要的熱鍵[Tab]按鍵[Ctrl]c按鍵[Ct…

MSTP 多生成樹協議

MSTP 多生成樹協議 STP/RSTP 的局限性 所有 vlan 共享一顆生成樹無法實現不同 vlan 在多條 Trunk 鏈路上的分擔 二層鏈路負載均衡STP/RSTP 的局限——次優二層路徑**次優二層路徑(Suboptimal Layer 2 Path) 是指: ** 數據幀在交換網絡中傳輸時…

Shell腳本-tee工具

一、前言在 Linux/Unix 系統中,tee 是一個非常實用的命令行工具,它可以幫助我們 同時將命令的輸出打印到終端,并寫入文件。這種“雙路輸出”機制在腳本調試、日志記錄、自動化任務中非常有用。無論是做日志分析、腳本調試,還是編寫…

走進Linux的世界:Linux基本指令(三)

嘿,各位技術潮人!好久不見甚是想念。生活就像一場奇妙冒險,而編程就是那把超酷的萬能鑰匙。此刻,陽光灑在鍵盤上,靈感在指尖跳躍,讓我們拋開一切束縛,給平淡日子加點料,注入滿滿的pa…

跨域詳解與解決方案:從理論到實踐的全面指南

目錄 1. 跨域是什么?為什么它讓人頭禿? 為什么跨域問題讓人抓狂? 跨域的本質 2. 跨域的罪魁禍首:同源策略與CORS 同源策略的來龍去脈 CORS:跨域的“通行證” 3. JSONP:古老但依然有用的跨域“黑科技” JSONP的原理 JSONP的優缺點 4. 代理服務器:跨域的“中間人…

深入詳解:決策樹在輔助診斷系統與臨床決策支持中的應用及實現細節

?? 博主簡介:CSDN博客專家、CSDN平臺優質創作者,高級開發工程師,數學專業,10年以上C/C++, C#,Java等多種編程語言開發經驗,擁有高級工程師證書;擅長C/C++、C#等開發語言,熟悉Java常用開發技術,能熟練應用常用數據庫SQL server,Oracle,mysql,postgresql等進行開發應用…

【詳細筆記】兩類曲線積分轉換

文章目錄參考教程一兩類曲線積分的聯系參數方程曲線的切線方向余弦參考教程2兩類曲線積分之間的關系物理意義解釋證明思路參考教程一 3分鐘幫你搞定兩類曲線積分之間的聯系(弧長和坐標) 兩類曲線積分的聯系 設平面曲線LLL上的第二類曲線積分∫LPdxQdy…

【成品設計】基于STM32F429的云端電子相冊

V1《基于STM32F429的云端電子相冊》 V1硬件框圖:V1功能說明: 支持 softAP 配網。支持 HTTPS 客戶端的 GET\POST 請求支持文件系統用于圖片的存儲。支持 LVGL 自定義 GUI。日歷功能。STM32F429文件系統LVGLRGB LCD屏幕。屏幕尺寸480*480. 首次開機交互&am…

網絡安全隔離技術解析:從網閘到光閘的進化之路

目錄 一、網絡安全隔離技術體系 1.1 網絡安全隔離技術發展歷程 1.2 隔離技術分類矩陣 1.3 核心隔離原理對比 二、網閘技術深度解析 2.1 GAP架構剖析(Guarded Access Point System 安全隔離與信息交換系統) 2.2 技術演進路線 三、光閘技術突破創新…

初識 二叉樹

目錄樹什么是二叉樹二叉樹的五種狀態滿二叉樹完全二叉樹二叉排序樹平衡二叉樹二叉樹的遍歷B3642 二叉樹的遍歷P1305 新二叉樹二叉樹的深度P4913 【深基16.例3】二叉樹深度相關例題訓練:二叉樹問題樹 這是樹(拍攝于鄭州輕工業大學,第一次鄭州輕…

(1)Windows環境下安裝Oracle

概述:Oracle數據庫是一種網絡上的數據庫, 它在網絡上支持多用戶, 支持服務器/客戶機等部署(或配置)。服務器與客戶機是軟件概念:它們與計算機硬件不存在一一對應的關系. 即:同一臺計算機既可以充當服務器又可以充當客戶機,或者一臺計算機只充當服務器或只…

工業數據集成中間件工具OPC Router詳細介紹

一、產品概述 OPC Router 是 Software Toolbox 旗下的一款面向工業數據集成與自動化的數據中間件工具,專注于實現各類工業系統之間的數據交互和自動化流程編排。它通過模塊化的插件機制,打通 PLC、ERP、MES、數據庫、MQTT、REST API 等不同系統之間的數…