linux權限管理以及shell

1.shell

1.1什么是shell?

shell即外殼,是運行在linux系統上的一個腳本語言,包裹在linux內核的外面。我們常說的linux操作系統實際上是linux內核我們使用的所有指令都是一個個程序,而shell指令就是一個將我們用戶的操作翻譯給linux內核的程序。總的來說,shell就像是一個翻譯官,將用戶的意圖轉換加工并傳遞給內核,內核做出反應后傳遞給shell,shell再轉換加工并傳遞給用戶

總結:shell就是我們用戶和操作系統之間進行交互的媒介(命令行解釋器)。

1.2 shell的作用

為什么不讓用戶直接在linux內核上操作呢?

要知道,操作系統是最接近計算機硬件的軟件,控制分配著計算機的各種硬件資源以及作業。如果直接暴露給用戶使用,那么我們的計算機將會變得非常危險,用戶一個不小心可能就會讓整個機器崩潰。另外,操作系統向上提供的這些接口較為復雜難懂,在用戶角度上來說是非常不友好的(大部分用戶都不是程序員)。所以,我們需要將這些操作系統的接口“包裝”起來,一來是可以更好的保護計算機,二來是為用戶操作提供容易理解并使用的“工具”。

?2.linux權限

2.1權限的概念

在我們的日常生活中會接觸到許許多多需要權限才能執行的事情,比如我們要看某個需要會員才能看的電影,通過“會員”,app可以篩選出誰能看這個電影,誰不能看這個電影。其實會員的概念跟權限一致,其實質都是在規定---什么樣的角色能干什么事。 而在linux操作系統中,“角色”包括普通用戶和root超級用戶

root用戶和普通用戶的區別

超級用戶:可以再linux系統下做任何事情,不受限制

普通用戶:在linux下做有限的事情

超級用戶的命令提示符是“#”,普通用戶的命令提示符是“$“

2.2su指令

su用來切換當前的用戶身份??

語法 su [用戶名]?

常用格式?

指令格式含義
su?輸入root密碼后切換到root用戶但是pwd目錄不變
su -輸入root密碼后切換到root用戶但是pwd目錄/root
su root輸入root密碼后切換到root用戶但是pwd目錄不變
su - root輸入root密碼后切換到root用戶但是pwd目錄/root
su 某用戶名輸入這個用戶的密碼后切換到該用戶但是pwd目錄不變
su - 某用戶名輸入這個用戶的密碼后切換到該用戶但是pwd目錄在 /該用戶

舉例:

su root 指令演示

su - root指令演示

總結

su指令可實現普通用戶和root(超級管理員)之間的交換,值得注意的是,su默認只是切換身份,并沒有切換環境變量,環境變量依然是普通用戶的。切換用戶身份時,用戶的環境變量也切換成新用戶的環境變量,所以"-"不能省略,不然有些操作無法執行。這也是為什么su root之后所處的當前路徑不會更新,而su - root之后所處的當前路徑會回到/root下

?2.3linux權限管理

?對linux而言,一切皆文件,Linux的權限管理其實大多也就是在管理文件文件=文件內容+屬性屬性又包括這個文件的路徑、最近修改時間、文件擁有者、文件所屬組等信息即使我們創建一個空文件(沒有內容),這個文件的大小也不為0,因為還需要空間存儲屬性信息。

用ls 查看文件屬性?

?紅框框里面的就是文件屬性

2.3.1文件屬性

對于以下文件屬性

解析各個字段?

?2.3.2文件的擁有者、所屬組的概念

在Linux系統中,每個文件和目錄都有一個所有者(owner)和一個所屬組(group)。這兩個概念是用來控制對文件和目錄的訪問權限的。

擁有者

我們知道linux系統是多用戶操作系統,每個文件都有它的 擁有者,只有文件的擁有者才具有修改文件屬性的權力當一個文件被創建時,會默認當前用戶為文件的擁有者。當然,root用戶可以隨意修改,即使該文件的擁有者并不是root.

所屬組

所屬組定義了文件或目錄的關聯組。所有屬于同一組的用戶都具有該組對文件或目錄的一些權限。這允許多個用戶在同一組中共享訪問權限

注意

權限分為三個主要類別:所有者權限、所屬組權限和其他用戶權限。那為什么沒有標明其他用戶是誰呢?在linux文件屬性中,如果一個用戶既不是該文件的擁有者也不是所屬組,那么對于這個文件而言,這個用戶就是其他用戶,也只能使用其它用戶的權限。

2.4文件類型以及權限

?在這個字段中,一共有10個字符,第一個字符表示文件的類型后面九個字符以三個為一組,分別表示這個文件的擁有者、所屬組、其它用戶的權限

文件類型

d:文件夾

-:普通文件

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

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

p:管道文件

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

s:套接口文件?

?

?

?文件的權限

文件和目錄的權限由三組權限分別表示,分別是所有者權限、所屬組權限和其他用戶權限。每組權限都包含讀(read)、寫(write)和執行(execute)權限。r表示讀權限,w表示寫權限,x表示執行權限如果沒有對應的權限,用“-”表示。(順序是固定的

可用八進制表示每一組的權限

r的權值為4,二進制表示為100

w的權值為2,二進制表示為010

x的權值為1,二進制表示為001

其中權限的組合用每種權限的權值相加得到,例如7(八進制)用二進制表示為111(100+010+001=111),轉換為權限的含義就是,可讀可寫可執行。

如果某個文件總的權限用八進制表示為700,從左往右,分別表示,擁有者的權值為7,所屬組和其他的權值為0。

?例如:

r - - 表示可讀、不可寫、不可執行

r w - 表示可讀、可寫、不可執行

- - -? 表示不可讀、不可寫、不可執行

?分析以下部分文件屬性

-rw-rw-r-- 1 tsx tsx    0 Nov 30 18:53 file2.txt

通過這個文件屬性信息我們可以知道,file2.txt是一個普通文件,擁有者和所屬組都是tsx,擁有者和所屬組的權限都是是 可以讀取文件的內容,可以向該文件寫入信息,不可執行。而對于其他用戶來說,就只有讀的權限

演示

假設cat 某個該用戶沒有讀權限的文件

?注意

對于一個文件夾來說,讀、寫、執行的權限含義與普通文件相比有所不同。

1、讀權限表示用戶可以列出目錄中的文件和子目錄。對于一個目錄來說,如果該用戶沒有讀權限,即使可以列出該目錄的子目錄和文件,也無法查看其文件的內容?

2、寫權限表示用戶可以在目錄中創建、刪除和重命名文件或子目錄。對于一個目錄來說,如果該用戶沒有寫權限,可以列出該目錄的子目錄和文件。如果沒有寫權限,即使其子目錄或文件的權限是可寫的,也不能刪除或者修改等操作

3、執行權限對于目錄,執行權限表示用戶可以進入該目錄。如果用戶沒有執行權限,即使目錄是可讀的,也無法進入其中。也就意味著,用cd 指令進入某個沒有x(執行)權限的目錄會失敗

2.5修改文件的權限

在linux操作系統中,我們可以使用一些指令來修改?文件的權限屬性,也可以修改文件的擁有者和所屬組

2.5.1chmod指令

chmod是用來修改文件或者目錄權限的指令,它允許用戶為文件或目錄的所有者、所屬組和其他用戶分別設置讀、寫和執行權限。

常用選項:

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

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

?chmod命令權限值的格式

chmod 用戶表示符+/- /= 權限字符 文件名

用戶表示符

u:擁有者

g:擁有者同組用

o:其它用戶

a:所有用戶?

+、-、=符號

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

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

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

將擁有者的權限減去一個r權限

考慮以下指令

chmod u-r 111

我們可以看到用chmod u-權限符 可以刪除某個文件擁有者的讀權限,那怎么加回來呢?

將擁有者的權限增加上一個r權限

考慮以下指令

chmod u+r 111

?

將某個目錄下的文件或者子目錄的所有用戶都刪除寫權限

考慮以下指令

?chmod -R a-w 111

?其實修改用戶的權限非常的簡單,指令格式也非常的容易理解。另外,我們也可以用對應的八進制來代替權限符。比如chmod 000 某個文件:

2.6思考

我們發現,創建的目錄或者是文件在被創建之后都會有默認的權限,這些默認權限的賦予規則是什么呢?

文件的默認權限

在Linux系統中,新創建的文件和目錄都會有默認權限。這些默認權限是由系統的 umask(用戶文件創建掩碼)值控制的。Umask決定了在創建新文件或目錄時從文件權限中去除的權限位。

2.6.1什么是umask?

umask用戶文件創建掩碼)是一個在Unix和類Unix系統中的概念,用于控制新文件和目錄的默認權限。它是一種權限掩碼,用來確定在創建新文件或目錄時從權限中要移除的位

我們可以用umask直接查看umask值(八進制)

umask

2.6.2默認權限規則?

?Umask的值是從文件權限中減去的權限。我們知道文件的三個身份權限可以用三個八進制位表示,而默認創建的文件會將滿權限(一個身份的滿權限的權值是7,三個就是777)的八進制位分別減去對應的umask位(相同的八進制位).例如,如果umask的值為0002,那么在創建新文件時會去除其它用戶的寫權限(2)。

?

以umask值為0002為例(跟002一樣)

第一位八進制默認為 7-0=7,對應著擁有者的權限為111(二進制),也就是rwx

第二位八進制默認為 7-0=7,對應著所屬組的權限為111(二進制),也就是rwx

第三位八進制默認為 7-2=5,對應著擁有者的權限為101(二進制),也就是r-x

所以根據以上默認權限的規則,umask為0002時,創建的目錄或者文件的權限默認都是775

2.6.3 修改umask

我們可以用umask+ 合適的八進制值來修改umask

考慮以下指令集

umask 000
mkdir 555

根據前面的默認權限規則得到得到默認權限的過程

第一位八進制默認為 7-0=7,對應著擁有者的權限為111(二進制),也就是rwx

第二位八進制默認為 7-0=7,對應著所屬組的權限為111(二進制),也就是rwx

第三位八進制默認為 7-0=0,對應著擁有者的權限為111(二進制),也就是rwx

2.7修改文件的擁有者和所屬組

2.7.1修改文件的擁有者

chown指令

chown命令可以將某個文件的擁有者修改為另一個存在的用戶。只有超級用戶(root)才有權限使用 chown 命令。

考慮以下指令

chown root 111

2.7.2修改文件的所屬組

chgrp指令

chgrp命令用于更改文件或目錄所屬組的命令。只有超級用戶(root)才有權限使用 chgrp 命令。

考慮以下指令

chgrp root 222

2.8.總結

文件的權限總是圍繞著什么樣的角色能干什么樣的事,了解并熟悉權限操作管理有助于保護我們的文件信息也有助于團隊之間的信息溝通。就像我們人一樣,我們應當明確自己是什么角色、能干什么樣的事,恪守本分,遵紀守法,這樣社會才會有秩序,這樣我們才能安穩的生活。

?

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

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

相關文章

軟件設計之組合模式

組合模式:將對象組合成樹形結構。 案例:公司管理。一個公司可以分總公司和分公司,無論是總公司還是分公司都有自己的部門,如人力資源管理部門、財務部門。分公司可以建立自己在不同地域的辦事處。請使用組合模式打印出某個公司的…

SpringSecurity6 | 登陸后的跳轉

SpringSecurity6 | 自定義認證規則 ?作者簡介:大家好,我是Leo,熱愛Java后端開發者,一個想要與大家共同進步的男人😉😉 🍎個人主頁:Leo的博客 💞當前專欄: Ja…

第九天:信息打點-CDN繞過篇amp;漏洞回鏈amp;接口探針amp;全網掃描amp;反向郵件

信息打點-CDN繞過篇 cdn繞過文章:https://www.cnblogs.com/qiudabai/p/9763739.html 一、CDN-知識點 1、常見訪問過程 1、沒有CDN情況下傳統訪問:用戶訪問域名-解析服務器IP–>訪問目標主機 2.普通CDN:用戶訪問域名–>CDN節點–>…

面向LLM的App架構——業務維度

這是兩篇面向LLM的大前端架構的第一篇,主要寫我對LLM業務的認知以及由此推演出的大前端架構。由于我是客戶端出身,所以主要以客戶端角度來描述,并不影響對前端的適用性。 對LLM的認知 基于Google對AGI的論文,AGI或者LLM一定會朝…

淺談ClickHouse性能監控與調優

ClickHouse性能監控與調優 ClickHouse是一個高性能的列式數據庫管理系統,適用于實時分析和大數據處理。本文將詳細講解如何監控ClickHouse的性能指標、日志和查詢統計信息,以及如何進行故障排查和性能調優。 一、監控性能指標 1. 系統表 ClickHouse提…

網絡層重點協議——IP協議詳解

??????今天給大家分享的是網絡層的重點協議——IP協議。 清風的CSDN博客 🛩?🛩?🛩?希望我的文章能對你有所幫助,有不足的地方還請各位看官多多指教,大家一起學習交流! ??????動動你們發財的…

阿里內部教程Jmeter 性能測試常用圖表、服務器資源監控

性能測試常用圖表 插件安裝 步驟 1:安裝插件管理器 在 Jmeter 官網上下載插件管理器 Plugins-manager-1.3.jar將 jar 包放入到 lib\ext 目錄下重啟 Jmeter,可以在選項下看到 Plugins Manager 選項 步驟 2:安裝指定的插件 打開 Plugins Ma…

JVM虛擬機系統性學習-運行時數據區(堆)

運行時數據區 JVM 由三部分組成:類加載系統、運行時數據區、執行引擎 下邊講一下運行時數據區中的構成 根據線程的使用情況分為兩類: 線程獨享(此區域不需要垃圾回收) 虛擬機棧、本地方法棧、程序計數器 線程共享(數…

【矩陣】73. 矩陣置零

題目 法1&#xff1a;自己想的笨蛋方法 class Solution {public void setZeroes(int[][] matrix) {Set<Integer> rowSet new HashSet<>();Set<Integer> columnSet new HashSet<>();for (int i 0; i < matrix.length; i) {for (int j 0; j <…

DataGrip常見問題

查詢語句結果沒有輸出在output中 進行如下配置 配置后查詢結果輸出在output中 左側數據庫鏈接信息導航欄被隱藏 以上導航欄被隱藏&#xff0c;按下圖操作調出

【Qt開發流程】之容器類2:使用STL風格迭代器進行遍歷

概述 對于每個容器類&#xff0c;都有兩種stl風格的迭代器類型:一種提供只讀訪問&#xff0c;另一種提供讀寫訪問。應該盡可能使用只讀迭代器&#xff0c;因為它們比讀寫迭代器快。 STL迭代器的API以數組中的指針為模型。例如&#xff0c;操作符將迭代器推進到下一項&#xf…

Java開發工具:IDEA 2023.3(WinMac)中文激活版

IntelliJ IDEA 2023是一款由JetBrains公司出品的集成開發環境&#xff08;IDE&#xff09;&#xff0c;專為程序員設計。它以智能、高效和人性化為主要特點&#xff0c;致力于提高開發人員的生產力&#xff0c;幫助程序員更快、更好地編寫代碼。 在智能功能方面&#xff0c;Int…

Panalog 日志審計系統 sprog_deletevent.php SQL 注入漏洞復現

0x01 產品簡介 Panalog大數據日志審計系統定位于將大數據產品應用于高校、 公安、 政企、 醫療、 金融、 能源等行業之中&#xff0c;針對網絡流量的信息進行日志留存&#xff0c;可對用戶上網行為進行審計&#xff0c;逐漸形成大數據采集、 大數據分析、 大數據整合的工作模式…

c語言一維數組總結詳解

目錄 介紹&#xff1a; 一維整型數組&#xff1a; 聲明&#xff1a; 初始化&#xff1a; 打印輸出&#xff1a; 輸出結果&#xff1a; 浮點型數組&#xff1a; 代碼&#xff1a; 運行結果&#xff1a; 補充&#xff1a; 一維字符數組&#xff1a; 字符數組聲明及初始…

Python軸承故障診斷 (二)連續小波變換CWT

目錄 前言 1 連續小波變換CWT原理介紹 1.1 CWT概述 1.2 CWT的原理和本質 2 基于Python的CWT實現與參數對比 2.1 代碼示例 2.2 參數介紹和選擇策略 2.2.1 尺度長度&#xff1a; 2.2.2 小波函數&#xff08;wavelet&#xff09;&#xff1a; 2.3 凱斯西儲大學軸承數據的…

《算法與數據結構》答疑

答疑 問題一問題二問題三問題四 問題一 在匹配成功時&#xff0c;在返回子串位置那里&#xff0c;為什么不是i-t的長度啊&#xff0c;為什么還要加一 問題二 問題三 問題四 問&#xff1a;如果題目讓我們構造一個哈夫曼樹&#xff0c;像我發的這個例題的話&#xff0c;我畫成我…

深度學習與計算機視覺技術的融合

深度學習與計算機視覺技術的融合 一、引言 隨著人工智能技術的不斷發展&#xff0c;深度學習已經成為了計算機視覺領域的重要支柱。計算機視覺技術能夠從圖像和視頻中提取有用的信息&#xff0c;而深度學習則能夠通過學習大量的數據來提高計算機視覺技術的性能。本文將探討深…

貪心算法和動態規劃

目錄 一、簡介 二、貪心算法案例&#xff1a;活動選擇問題 1.原理介紹 三、動態規劃案例&#xff1a;背包問題 1.原理介紹 四、貪心算法與動態規劃的區別 五、總結 作者其他文章鏈接 正則表達式-CSDN博客 深入理解HashMap&#xff1a;Java中的鍵值對存儲利器-CSDN博客…

Java Web——過濾器 監聽器

目錄 1. Filter & 過濾器 1.1. 過濾器概述 1.2. 過濾器的使用 1.3. 過濾器生命周期 1.4. 過濾器鏈的使用 1.5. 注解方式配置過濾器 2. Listener & 監聽器 2.1. 監聽器概述 2.2. Java Web的監聽器 2.2.1. 常用監聽器 2.2.1.1. ServletContextListener監聽器 …

Course3-Week1-無監督學習

Course3-Week1-無監督學習 文章目錄 Course3-Week1-無監督學習1. 歡迎1.1 Course3簡介1.2 數學符號約定 2. K-means算法2.1 K-means算法的步驟2.2 代價函數2.3 選擇聚類數量 3. 異常檢測3.1 異常檢測的直觀理解3.2 高斯分布3.3 異常檢測算法3.4 選取判斷閾值 ε \varepsilon ε…