Linux系統--權限

大家好,上一次我們學習了關于Linux中的基礎指令,那么我們今天來繼續學習Linux的新的內容:權限。那么話不多說,我們開始今天的學習:

目錄

Linux權限

1. Linux權限的概念

2. Linux權限管理

3. ?件權限值的表??法

4.??件訪問權限的相關設置?法

5.?umask

6. ?錄的權限?

7.粘滯位


Linux權限

對于權限我們先來思考兩個問題:

權限是什么?

權限的本質:能或不能做什么事情

為什么有權限?

1. 控制用戶的行為,防止錯誤的發生

2. 權限首先限制的用戶,權限要求目標必須具備相應的屬性

所以我們可以總結出:權限=用戶+目標屬性 ,也就是說,權限限制的就是用戶和目標屬性這兩個方面,下面我們就從這兩個方面來學習。

1. Linux權限的概念
Linux下有兩種??:超級??(root)、普通??。
超級??:可以再linux系統下做任何事情,不受限制
普通??:在linux下做有限的事情。
超級??的命令提?符是“#”,普通??的命令提?符是“$”。

這里我們學習一個新的命令:

名令:su [??名]
功能:切換??。
例如,要從root??切換到普通??user,則使? su user。
要從普通??user切換到root??則使? su root(root可以省略),此時系統會提?輸?root?戶的密碼。

當我們使用 su ( root ) 時,系統會在我們當前用戶上新覆蓋一個root的身份,而當我們使用 su - ( root ) 時,系統會登錄root用戶,這是這兩種使用方法的區別。

2. Linux權限管理

1. ?件訪問者的分類(用戶)
?件和?件?錄的所有者:u---User
?件和?件?錄的所有者所在的組的??:g---Group
其它??:o---Others?
2. ?件類型和訪問權限(事物屬性)
?件類型:
d:?件夾
-:普通?件
l:軟鏈接(類似Windows的快捷?式)
b:塊設備?件(例如硬盤、光驅等)
p:管道?件
c:字符設備?件(例如屏幕等串?設備)
s:套接??件
基本權限:
讀(r/4):Read對?件??,具有讀取?件內容的權限;對?錄來說,具有瀏覽該?錄信息
的權限
寫(w/2):Write對?件??,具有修改?件內容的權限;對?錄來說具有刪除移動?錄內
?件的權限
執?(x/1):execute對?件??,具有執??件的權限;對?錄來說,具有進??錄的權
“—”表?不具有該項權限

?在我們實際使用的時候,有些時候會遇到一些我們想要執行的操作但是這些操作只能由root用戶來執行,比如說安裝軟件,這需要管理員root的權限,這時候就需要另一個命令:

命令:sudo[選項] [命令]

功能:它允許系統管理員為普通用戶分配特定的 root 權限,避免直接使用 root 賬戶登錄

-rw-r--r--. 1 root root 0 9 ? 19 15:58 abc.c
drwxr-xr-x. 27 litao litao 4096 9 ? 19 15:53 litao
-rw-r--r--. 1 root root 0 9 ? 19 15:59 root.c

我們來看這三個文件的詳細信息,

其中,畫線部分第一個用戶名就是文件目錄的所有者,第二個用戶名就是文件目錄的所屬組,至于其他用戶,這里并不需要給出,因為對于一個用戶他既不是所有者也不是所屬組那么他就是其他用戶,在這里就無法給出其他用戶的具體用戶名。

下面我們來看用戶名前面這一部分,我們上一次學習了這里第一個字符代表文件的類型,決定了這是目錄還是一個什么類型的文件,后面9個字符我們每三個分成一組,第一組就代表所有者對該文件或目錄的權限,第二組代表所屬組的權限,第三組代表其他用戶的權限。

其中r代表可讀,w代表可寫,x代表可執行。但是一個文件具體能不能執行不僅需要該文件是可執行文件也需要有可執行權限,否則都無法執行。

1.能改任何人的文件權限嗎?用戶只能更改自己的文件權限

2.沒有權限怎么念?系統會拒絕讓我們訪問

3.確認權限信息的時候,系統會先確定用戶是誰?擁有者,所屬組,還是 other?在 Centos 下 用戶角色確定,只確定一次 順序是:擁有者,所屬組,other

4.root 用戶的權限?不受權限約束

3. ?件權限值的表??法

符表??法
8進制數值表??法

每一組權限都由r w x組成,每個權限都有兩種可能也就是可讀和不可讀... ,那么我們可以用二進制來表示,對于可讀可寫可執行那么它的二進制就是111,寫成8進制就是7,對于不可讀不可寫不可執行那么它的二進制就是000,寫成8進制就是0,因此我們把上述三個文件的權限全部寫成8進制就是644 755 644,這樣在后面修改權限時使用會更方便 一些。

4.??件訪問權限的相關設置?法
chmod
功能:設置?件的訪問權限
格式:chmod [參數] 權限 ?件名
常?選項:
R -> 遞歸修改?錄?件的權限
說明:只有?件的擁有者和root才可以改變?件的權限
chmod命令權限值的格式:
??表?符+/-=權限字符
+:向權限范圍增加權限代號所表?的權限
-:向權限范圍取消權限代號所表?的權限
=:向權限范圍賦予權限代號所表?的權限
??符號:
u:擁有者
g:擁有者同組?
o:其它??
a:所有??

chmod u+r test.txt?

這就代表我們給test.txt文件的所有者加上了可讀權限

chmod g-rw test.txt

這代表我們給test.txt文件的所屬組減去了可讀可寫權限

同樣我們也可以給其他用戶修改權限,這里不多介紹了

當然也可以使用8進制來修改

chmod 664 /home/abc.txt
chmod 640 /home/abc.txt
chown
功能:修改?件的擁有者
格式:chown [參數] ??名 ?件名
實例:
chown user1 f1
這是把文件 f1 的所有者給user1
chown -R user1 filegroup1

?這是把filegroup1目錄的所有者給user1

?chgrp

功能:修改?件或?錄的所屬組
格式:chgrp [參數] ??組名 ?件名
常?選項:-R 遞歸修改?件或?錄的所屬組
實例: chgrp users /abc/f2

當我們新建文件或目錄的時候,它的默認權限是怎么來的呢??

5.?umask

對于普通文件來講:起始權限 666,默認不帶可執行
對于目錄文件來講:起始權限 777,默認帶 x

那為什么默認權限是我們看到的樣子??

因為系統默認存在一個叫做權限掩碼的概念:

查看或修改?件掩碼
新建?件夾默認權限=0666
新建?錄默認權限=0777
但實際上你所創建的?件和?錄,看到的權限往往不是上?這個值。原因就是創建?件或?錄的時候還要受到umask的影響。假設默認權限是mask,則實際創建的出來的?件權限是: mask & (~umask)
格式:umask 權限值
說明:將現有的存取權限減去權限掩碼后,即可產?建??件時預設權限。超級??默認掩碼值為0022,普通??默認為0002。
實例:
umask // 查看權限掩碼
umask 044// 設置權限掩碼

?若是修改權限掩碼后忘了改回去,不用擔心,這個每次登錄時都會回到默認值。

1.umask 的目的什么?

希望凡是在 umask 中出現的權限,都不應該在最終權限中出現?

2.為什么要有 umask?
默認權限,有 OS 自主決定,無法在創建前進行統一… 系統可控層,可以靈活滿足需要的一種表現
特殊情況下,配置 umask,可以控制文件的默認權限,讓我們的代碼都是可控的。

6. ?錄的權限?

說完了文件的權限,那我們再來看一看目錄的權限:

1.rwx 分別對目錄意味著什么?

r對于目錄來說代表這可以打開目錄中的文件,也就是可以讀取文件里的內容

w對于目錄來說代表可以在目錄中修改文件,包括新建,刪除,修改等

x對于目錄來說才是可以訪問該目錄,代表該目錄可執行(可訪問)

2.默認情況下,我們新建一個目錄,rwx 權限都要有!

?錄的可執?權限是表?你可否在?錄下執?命令。
如果?錄沒有 -x 權限,則?法對?錄執?任何命令,甚??法 cd 進??, 即使?錄仍然有 -r 讀權限(這個地?很容易犯錯,認為有讀權限就可以進??錄讀取?錄下的?件)
?如果?錄具有 -x 權限,但沒有 -r 權限,則??可以執?命令,可以 cd 進??錄。但由于沒有?錄的讀權限
所以在?錄下,即使可以執? ls 命令,但仍然沒有權限讀出?錄下的?檔。
于是, 問題來了~~ 換句話來講, 就是只要??具有?錄的寫權限, ??就可以刪除?錄中的?件, ?不論這個?戶是否有這個?件的寫權限。這好像不太科學啊, 我張三創建的?個?件, 憑什么被你李四可以刪掉?
為了解決這個不科學的問題, Linux引?了粘滯位的概念:
7.粘滯位

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

1. 超級管理員刪除
2. 該?錄的所有者刪除
3. 該?件的所有者刪除
用戶類型是否可刪除文件
文件創建者可以(無論目錄所有者是誰)
目錄所有者可以(無論文件所有者是誰)
其他普通用戶不可以(即使有目錄寫權限)
超級用戶(root)可以(不受粘滯位限制)

?好的,那么我們今天關于權限的內容到這里就結束了,讓我們下次再見。

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

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

相關文章

論文筆記 <交通燈> <多智能體>DERLight雙重經驗回放燈機制

今天看的論文是這篇 主要提出了傳統優先級經驗回放(PER)在復雜交通場景中效率低下,使用二叉樹存儲樣本,導致大規模樣本時計算復雜度高。而且不丟棄樣本,造成存儲空間浪費。 雙重經驗池: 為了解決以上問題…

Chromium 136 編譯指南 macOS篇:環境準備與系統配置(一)

1. 引言 在瀏覽器技術的星空中,Chromium 猶如一顆最亮的明星,照亮了整個互聯網的發展軌跡。作為推動現代 Web 技術革命的核心引擎,Chromium 不僅是 Google Chrome 的技術基石,更是 Microsoft Edge、Opera、以及眾多定制瀏覽器的共…

linux機器間無密碼如何傳輸文件

1. scp傳輸時的問題 $ scp deepseek_r1_distill_qwen1.5b_content_audit_fp16_20250613_2_Q4_K_M.gguf xxx192.168.xxx:/home/xxx/pretrained_model/output The authenticity of host 192.168.xxx (192.168.xxx) cant be established. ED25519 key fingerprint is SHA256:deOs…

PySpark 使用pyarrow指定版本

背景說明 在 PySpark 3.1.3 環境中,當需要使用與集群環境不同版本的 PyArrow (如 1.0.0 版本)時,可以通過以下方法實現,而無需更改集群環境配置 完整操作說明 去pyarrowPyPI下載對應版本的whl文件后綴whl直接改成zip解壓后有兩個文件夾&am…

安卓APP投屏調試工具使用教程

安卓APP投屏調試工具使用教程 一、準備工作(一)下載ADB工具(二)配置ADB的環境變量(三)檢查是否成功安裝(四)adb核心命令說明 二、無線調試流程(一)環境要求&a…

huggingface網站里的模型和數據集

直接下載肯定是不太行,平時訪問都不容易,更別提下載東西了,但是我們可以通過國內鏡像進行快速下載。 鏡像網址: hf-mirror地址:HF-Mirror 進入網站之后,在搜索框里搜索你想下載的內容,接下來…

Node.js 路由請求方式大全解:深度剖析與工程實踐

文章目錄 🌐 Node.js 路由請求方式大全解:深度剖析與工程實踐一、📜 HTTP 請求方法全景圖🏆 核心方法深度對比HTTP 請求方法概念對比表🛠? 特殊方法應用場景 二、🎨 各方法深度解析1. GET - 數據查看器&am…

JS-實現一個鏈式調用工具庫

要求: 支持鏈式調用,如:_chain(data).map().filter().value()實現map、filter、等常用方法支持惰性求值(延遲執行、直到用到value()時才真正計算)。 鏈式調用的實現原理的關鍵點是:函數執行完以后&#x…

【人工智能數學基礎】實變函數與泛函分析

數學分析、解析幾何、高等代數、實變函數、常微分方程、近世代數、微分幾何、復變函數、點集拓撲、概率論、數理統計、數理邏輯、偏微分方程、泛函分析、動力系統、數學物理方程、數論導引、群與代數表示、微分流形、代數拓撲、代數幾何、金融數學、多元統計分析、應用隨機過程…

css3 背景色漸變

在 CSS 中,使用漸變色需要用到 gradient 屬性,而 gradient 屬性分為 線性漸變 linear-gradient 與 徑向漸變 radial-gradient。今天主要是說一下 linear-gradient 線性漸變屬性。 例如:background: linear-gradient(90deg, #e7f1fc, #f5f9fb…

將圖片合成為視頻(基于 OpenCV)

本文將介紹如何使用 Python 和 OpenCV 將一組圖像文件合成為一個視頻文件。你將學會: 使用 os 模塊遍歷文件夾中的圖像 使用 cv2.VideoWriter 寫入視頻 設置分辨率與幀率參數 對圖像尺寸進行統一處理 簡單的視頻生成應用開發 1. 所需模塊與安裝 本章需要以下 …

HanLP 使用教程:從安裝到實戰應用

HanLP 使用教程:從安裝到實戰應用 HanLP 是由hankcs開發的一款高效、多功能的中文自然語言處理(NLP)工具包,支持分詞、詞性標注、命名實體識別(NER)、依存句法分析、關鍵詞提取、文本摘要等任務。本教程將…

MySQL 分組函數全面詳解與最佳實踐

MySQL 分組函數全面詳解與最佳實踐 MySQL 分組函數(聚合函數)的核心知識、注意事項和高級應用技巧: 📊 分組函數核心列表 函數描述示例COUNT()計算行數COUNT(*)SUM()計算數值總和SUM(salary)AVG()計算平均值AVG(score)MAX()獲取…

華為OD 最小循環子數組

1. 題意 給定一個由若干整數組成的數組 nums,請檢查數組是否是由某個子數組重復循環拼接而成,請輸出這個最小的子數組。 2. 題解 利用 k m p kmp kmp中的 n e x t next next數組性質,我們可以求出 n u m s nums nums中的最長公共 前綴后綴…

FreeCAD創作參數化凹形和水波紋式雨水箅子

這種非常流行的美觀的雨水篦子是都市的寵愛,大家要多多去用。 用FC來創建參數化后,設計人員可以隨意修改參數,滿足自身的要求,調整各部件的位置,達到滿意的布局,非常快捷。 水波紋雨水篦子 凹形雨水篦子

如何用一臺服務器用dify私有部署通用的大模型應用?

dify是什么?如何用一臺服務器用dify私有部署通用的大模型應用? Dify 是一款開源的大語言模型(LLM) 應用開發平臺。它融合了后端即服務(Backend as Service)和LLMOps的理念,使開發者可以快速搭建生產級的生成式 AI 應用…

海洋捕食算法優化BP神經網絡

引言BP神經網絡因梯度下降法的固有缺陷,常出現訓練震蕩和早熟收斂。海洋捕食算法(MPA)受海洋生物覓食行為啟發,其分階段搜索策略(高速游動→自適應步長→局部開發)能有效平衡全局探索與局部開發。本文通過MPA優化BP初始權值及學習率,構建混合優化模型。 方法論2.1 MPA算…

C++/OpenCV 圖像預處理與 PaddleOCR 結合進行高效字符識別

C/OpenCV 圖像預處理與 PaddleOCR 結合進行高效字符識別 在許多實際應用場景中,直接從原始圖片中提取文字的準確率可能不盡人意。圖像中的噪聲、光照不均、角度傾斜等問題都會嚴重干擾 OCR (Optical Character Recognition) 引擎的識別效果。本文將詳細介紹如何利用…

線程的學習

1. 線程 1. 線程是一個進程內部的控制序列 2. 線程在進程內部運行,本質是在進程地址空間內運行 3. 進程:承擔分配系統資源的基本實體 線程:CPU調度的基本單位 4. 線程在進程地址空間內運行 進程訪問的大部分資源都是通過地址空間訪問的 …

Qt Quick 與 QML(三)qml中的基礎控件

一、基礎控件 控件名稱??功能描述??示例代碼??Rectangle?基礎繪圖控件&#xff0c;創建矩形區域Rectangle {width: 100; height: 100<br> color: "red"; radius: 5}?Text/Label?文本顯示控件Text {text: "Hello World";<br> font.pi…