九色91_成人精品一区二区三区中文字幕_国产精品久久久久一区二区三区_欧美精品久久_国产精品99久久久久久久vr_www.国产视频

Hello! 歡迎來到小浪云!


shell 運行原理和Linux權(quán)限詳解


avatar
小浪云 2025-01-06 148

在技術(shù)領(lǐng)域中,shell被簡單定義為命令行解釋器(command interpreter)。它是linux操作系統(tǒng)中的一個重要組成部分,充當(dāng)著用戶與內(nèi)核之間的橋梁,負責(zé)解釋用戶輸入的命令并傳達給內(nèi)核執(zhí)行。內(nèi)核是操作系統(tǒng)的核心部分,負責(zé)管理系統(tǒng)資源、處理硬件與軟件交互等底層任務(wù)。普通用戶不能直接與內(nèi)核進行交互是因為內(nèi)核操作相對復(fù)雜且具有潛在風(fēng)險,需要一定的專業(yè)知識和權(quán)限才能操作,為了簡化用戶與系統(tǒng)之間的交互過程,shell應(yīng)運而生。

通過Shell,用戶可以通過輸入命令來執(zhí)行各種操作,如創(chuàng)建文件、運行程序等。Shell接收用戶輸入的命令,解析并執(zhí)行后轉(zhuǎn)發(fā)給內(nèi)核處理。用戶可以通過Shell來訪問系統(tǒng)的各種功能和服務(wù),提高操作系統(tǒng)的可操作性和靈活性。Shell的存在使得用戶可以通過簡單的命令來操作系統(tǒng),而不需要深入了解操作系統(tǒng)內(nèi)部的工作原理和細節(jié),極大地方便了用戶的使用體驗。

將使用者的命令翻譯給核心(kernel)處理。 同時,將核心的處理結(jié)果翻譯給使用者。 

shell 運行原理和Linux權(quán)限詳解

?

注意:shell 是所有外殼程序的統(tǒng)稱,bash 是一種具體的 shell。例如:centos 7 外殼程序 :bash

  • 對比 Windows GUI,我們操作 windows 不是直接操作 windows 內(nèi)核,而是通過圖形接口,點擊,從而完成我們的操作(比如進入 D 盤的操作,我們通常是雙擊 D 盤盤符. 或者運行起來一個應(yīng)用程序)。
  • shell 對于 Linux,有相同的作用,主要是對我們的指令進行解析,解析指令給 Linux 內(nèi)核。反饋結(jié)果在通過內(nèi)核運行出結(jié)果,通過 shell 解析給用戶。
  • shell 運行原理
shell是做命令行解釋的 對系統(tǒng)有危害性的命令會被阻止從而保護操作系統(tǒng) 其好處為子進程出現(xiàn)任何問題都不會影響父進程shell 
  • 幫助理解:
  • 如果說你是一個悶騷且害羞的程序員,那 shell 就像媒婆
  • 操作系統(tǒng)內(nèi)核就是你們村頭漂亮的且有讓你心動的 MM 小花。
  • 你看上了小花,但是有不好意思直接表白,那就讓你你家人找媒婆幫你提親
  • 所有的事情你都直接跟媒婆溝通,由媒婆轉(zhuǎn)達你的意思給小花
  • 而我們找到媒婆姓王,所以我們叫它王婆,它對應(yīng)我們常使用的 bash
  1. Linux 權(quán)限

2.1 權(quán)限的概念

  • Linux 下有兩種用戶:超級用戶(root)、普通用戶。
  • 超級用戶:可以再 linux 系統(tǒng)下做任何事情,不受限制
  • 普通用戶:在 linux 下做有限的事情。
  • 超級用戶的命令提示符是 “#”,普通用戶的命令提示符是 “$”。

shell 運行原理和Linux權(quán)限詳解

  • 用戶切換的命令

命令:su [用戶名]

功能:切換用戶。

?

例如,要從 root 用戶切換到普通用戶 user,則使用 su user。要從普通用戶 user 切換到 root 用戶則使用 suroot(root 可以省略),此時系統(tǒng)會提示輸入 root 用戶的口令。

shell 運行原理和Linux權(quán)限詳解

  • 切換到 root:用 su -,我們可以切換到 root 用戶(此時輸入 root 賬號密碼,密碼是不會回顯在屏幕上的)
  • 切換回普通用戶:用 su – 用戶名 切回普通用戶,(此時不用輸入密碼,但是我們不建議這樣切回,因為使用 su – 命令時,會創(chuàng)建更多的 bash 進程)
  • 推薦的切換回普通用戶:輸入 exit 或者敲擊 Ctrl+d,回退到普通用戶

2.2 權(quán)限管理

  • 什么是權(quán)限

?

權(quán)限本質(zhì)上是決定某件事情,某人能否做。

  • 針對人:例如我是這間房子的主人所以我可以自由進出這個房子
  • 針對事物:我想去吃一臺電腦、我想在面包上玩英雄聯(lián)盟、看電影。面包能吃,但是電腦不能吃、你可以吃面包,但是不能吃電腦;這里面包括了兩個屬性。

?

文件受人的影響和文件受本身自身特點 (事物屬性) 的影響 所以文件權(quán)限 = 人 + 事物屬性

文件權(quán)限屬性:r(讀)、w(寫)、x(執(zhí)行權(quán)限)

人 (不是特定具體的人,而是一種角色):擁有者、所屬組、other (其它)

  • 文件訪問者的分類(人)
  • 文件和文件目錄的所有者:u—User(中國平民 法律問題)
  • 文件和文件目錄的所有者所在的組的用戶:g—Group(不多說)
  • 其它用戶:o—Others (外國人)
  • 文件類型和訪問權(quán)限(事物屬性)

shell 運行原理和Linux權(quán)限詳解

?

使用命令 ls -l (ll) 顯示的多列屬性的第一列對應(yīng)的字符來區(qū)分它的文件類型。

shell 運行原理和Linux權(quán)限詳解

?

不需要列出 other,因為不是擁有者和所屬組的就是 other 了

幫助理解 – 擁有者和所屬組

?

我們舉個簡單的例子,在一家公司內(nèi)部,兩個項目組,要完成同樣的代碼任務(wù),他們之間彼此是互相競爭的關(guān)系,但是公司給他們提供的服務(wù)器只有一個,他們完成的代碼要提交上去,這是你寫的代碼,肯定只是想讓你和你的組員組長能看到,不想你的競爭對手組看到,這就產(chǎn)生了所屬組的概念。

shell 運行原理和Linux權(quán)限詳解

文件類型

  • d:文件夾
  • -:普通文件
  • l:軟鏈接(類似 Windows 的快捷方式)
  • b:塊設(shè)備文件(例如硬盤、光驅(qū)等)
  • p:管道文件
  • c:字符設(shè)備文件(例如屏幕等串口設(shè)備)
  • s:套接口文件

shell 運行原理和Linux權(quán)限詳解

  • 基本權(quán)限

i. 讀(r/4):Read 對文件而言,具有讀取文件內(nèi)容的權(quán)限;對目錄來說,具有瀏覽該目錄信息的權(quán)限

ii. 寫(w/2):Write 對文件而言,具有修改文件內(nèi)容的權(quán)限;對目錄來說具有刪除移動目錄內(nèi)文件的權(quán)限

iii. 執(zhí)行(x/1):execute 對文件而言,具有執(zhí)行文件的權(quán)限;對目錄來說,具有進入目錄的權(quán)限

iv.“—” 表示不具有該項權(quán)限

shell 運行原理和Linux權(quán)限詳解

2.3 文件權(quán)限值的表示方法

字符表示方法

Linux 表示 說明 Linux 說明
r – – 只讀 – w – 僅可寫
– – x 僅可執(zhí)行 r w – 可讀可寫
– w x 可寫可執(zhí)行 r – x 可讀可執(zhí)行
r w x 可讀可寫可執(zhí)行 – – – 無權(quán)限

八進制數(shù)值表示方法

權(quán)限符號 (讀寫執(zhí)行) 八進制 二進制
r 4 1 0 0
w 2 0 1 0
x 1 0 0 1
r w 6 1 1 0
r x 5 1 0 1
w x 3 0 1 1
r w x 7 1 1 1
– – – 0 0 0 0

shell 運行原理和Linux權(quán)限詳解

權(quán)限更改

$?chmod?777?text.c $?chmod?000?text.c $?chmod?640?text.c 

shell 運行原理和Linux權(quán)限詳解

2.4 文件訪問權(quán)限的相關(guān)設(shè)置方法

chmod

  • 功能:設(shè)置文件的訪問權(quán)限
  • 格式:chmod [參數(shù)] 權(quán)限 文件名
  • 常用選項:

R -> 遞歸修改目錄文件的權(quán)限

說明:只有文件的擁有者和 root 才可以改變文件的權(quán)限

  • chmod 命令權(quán)限值得格式

① 用戶表示符 +/-= 權(quán)限字符

  • +: 向權(quán)限范圍增加權(quán)限代號所表示的權(quán)限
  • -: 向權(quán)限范圍取消權(quán)限代號所表示的權(quán)限
  • =: 向權(quán)限范圍賦予權(quán)限代號所表示的權(quán)限
    用戶符號:
  • u:擁有者
  • g:擁有者同組用
  • o:其它用戶
  • a:所有用戶

示例:

shell 運行原理和Linux權(quán)限詳解

?

注意:chmod 可以給擁有者,所屬組,其他用戶同時修改權(quán)限,中間用逗號隔開

?

如果要修改不是自己的文件的時候需要 sudo 臨時權(quán)限提升或者直接切成 root 身份

  • sudo chmod 用戶表示符 +/-= 權(quán)限字符 文件名

chown

功能:修改文件的擁有者

格式:chown [參數(shù)] 用戶名 文件名

實例:

$?sudo?chown?root?test.c//?修改擁有者 $?sudo?chown?lighthouse?test.c//?修改擁有者 $?sudo?chown?:lighthouse?test.c//?修改所屬組 $?sudo?chown?lighthouse:lighthouse?test.c//?可以將擁有者、所屬組同時修改 $?sudo?chown?root:root?test.c//?可以將擁有者、所屬組同時修改 

shell 運行原理和Linux權(quán)限詳解

chgrp

功能:修改文件或目錄的所屬組
格式:chgrp [參數(shù)] 用戶組名 文件名
常用選項:-R 遞歸修改文件或目錄的所屬組

實例:

$?sudo?chgrp?root?text.c $?sudo?chgrp?lighthouse?text.c 

shell 運行原理和Linux權(quán)限詳解

2.4 修改文件的掩碼

umask

功能:查看或修改文件掩碼

語法:umask 權(quán)限值

shell 運行原理和Linux權(quán)限詳解

新建文件夾默認權(quán)限 = 0666

新建目錄默認權(quán)限 = 0777

shell 運行原理和Linux權(quán)限詳解

?

但是我們觀察到,新建的文件和目錄并不是默認的起始權(quán)限,這里是什么原因呢?

?

原因就是創(chuàng)建文件或目錄的時候還要受到 umask 的影響。假設(shè)默認權(quán)限是 mask,則實際創(chuàng)建的出來的文件權(quán)限是:umask & ~umask

shell 運行原理和Linux權(quán)限詳解

  • 我們也可以通過修改文件的 umask 碼值來修改文件的權(quán)限:

shell 運行原理和Linux權(quán)限詳解

說明:將現(xiàn)有的存取權(quán)限減去權(quán)限掩碼后,即可產(chǎn)生建立文件時預(yù)設(shè)權(quán)限。超級用戶默認掩碼值為 0022,普通用戶默認為 0002。

2.5 file 指令

file

功能說明:辨識文件類型。

語法:file [選項] 文件或目錄…

常用選項:

-c 詳細顯示指令執(zhí)行過程,便于排錯或分析程序執(zhí)行的情形。

-z 嘗試去解讀壓縮文件的內(nèi)容。

shell 運行原理和Linux權(quán)限詳解

  1. 目錄權(quán)限

面試題:進入一個目錄要什么權(quán)限?

  • 可讀權(quán)限: 如果目錄沒有可讀權(quán)限,則無法用 ls 等命令查看目錄中的文件內(nèi)容.
  • 可寫權(quán)限: 如果目錄沒有可寫權(quán)限,則無法在目錄中創(chuàng)建文件, 也無法在目錄中刪除文件.
  • 可執(zhí)行權(quán)限:如果沒有目錄可執(zhí)行權(quán)限,則無法 cd 到目錄中
x r w 
  1. 粘滯位

新發(fā)現(xiàn):

?

就是只要用戶具有目錄的寫權(quán)限, 用戶就可以刪除目錄中的文件, 而不論這個用戶是否有這個文件的寫權(quán)限.我創(chuàng)建的一個文件, 憑什么被你一個外人可以刪掉

結(jié)論

如果目錄本身對 other 具有 w 權(quán)限,other 可以刪掉任何目錄下的東西
如果目錄本身對 other 沒有 w 權(quán)限,other 則不可以刪除

?

我們的需求:other 可以在特定的目錄下創(chuàng)建文件并寫入,但是不想讓任何人刪除掉自己的文件

這里為了解決這個不科學(xué)的問題,Linux 引入了粘滯位的概念

粘滯位

語法:chmod +t 目錄名

功能:給目錄加上粘滯位

注意

?

只能對目錄設(shè)置,一般是限制 other權(quán)限的,對設(shè)置粘滯位的目錄,在該目錄下,只能有文件的擁有者和 root 用戶可以刪除,其他人不能刪除

示例:

shell 運行原理和Linux權(quán)限詳解

?

有多個人或者系統(tǒng)會有很多的臨時數(shù)據(jù),所有的臨時文件都放在系統(tǒng)的 /tmp 目錄下。所有的權(quán)限需要放開,但是只想讓文件的擁有者刪除自己的文件,這需要設(shè)置粘滯位

  1. 總結(jié)
  • 目錄的可執(zhí)行權(quán)限是表示你可否在目錄下執(zhí)行命令。
  • 如果目錄沒有 – x 權(quán)限,則無法對目錄執(zhí)行任何命令,甚至無法 cd 進入目, 即使目錄仍然有 – r 讀權(quán)限(這個地方很容易犯錯,認為有讀權(quán)限就可以進入目錄讀取目錄下的文件)
  • 而如果目錄具有 – x 權(quán)限,但沒有 – r 權(quán)限,則用戶可以執(zhí)行命令,可以 cd 進入目錄。但由于沒有目錄的讀權(quán)限
  • 所以在目錄下,即使可以執(zhí)行 ls 命令,但仍然沒有權(quán)限讀出目錄下的文檔。

相關(guān)閱讀

主站蜘蛛池模板: 国产精品久久亚洲7777 | 国产在线精品一区二区三区 | 国产9久| 岛国av免费观看 | 中国大陆高清aⅴ毛片 | 精品国产一区二区三区久久狼黑人 | 羞羞的视频在线看 | 精品久久久久久久久久久久久 | 亚洲国产精品视频一区 | 中文字幕亚洲欧美日韩在线不卡 | 国产 欧美 日韩 一区 | 久久久久久久一区 | 在线观看涩涩视频 | 国产精品久久久久久久岛一牛影视 | 日韩人体视频 | 91一区二区三区在线观看 | 欧美日韩一区二区在线 | 国产精品区一区二区三区 | 亚洲精品 在线播放 | 九色av| 亚洲自拍偷拍免费视频 | 一区二区三区免费在线观看 | 成人伊人| 日美女逼逼 | 欧美区在线 | 精品视频国产 | a级黄色毛片免费播放视频 国产精品视频在线观看 | 成人性视频免费网站 | 麻豆av网| 精品国产一区二区国模嫣然 | 国产视频中文字幕 | 国产精品视频免费观看 | 国产免费一区二区 | 国产精品入口麻豆www | 亚洲日本欧美日韩高观看 | 狠狠插天天干 | 国产精品亚洲二区 | 在线观看特色大片免费网站 | 亚洲在线成人 | 午夜精品一区二区三区在线播放 | 亚洲美女视频 |