優(yōu)秀網(wǎng)站頁面設(shè)計(jì)圖片蘭州模板網(wǎng)站seo價(jià)格
?=========================================================================
主頁點(diǎn)擊直達(dá):個(gè)人主頁
我的小倉庫:代碼倉庫
C語言偷著笑:C語言專欄
數(shù)據(jù)結(jié)構(gòu)挨打小記:初階數(shù)據(jù)結(jié)構(gòu)專欄
Linux被操作記:Linux專欄
LeetCode刷題掉發(fā)記:LeetCode刷題
算法:算法專欄
C++頭疼記:C++專欄
計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ):網(wǎng)絡(luò)專欄
=========================================================================
目錄
前言
shell命令以及運(yùn)行原理
Linux權(quán)限的概念
Linux權(quán)限管理
文件訪問者的分類(人)
文件類型和訪問權(quán)限(事物屬性)
文件權(quán)限值的表示方法
文件訪問權(quán)限的相關(guān)設(shè)置方法
前言
前幾期文章重點(diǎn)講解了Linux的一些基本指令,讓大家能夠快速的上手使用Linux,也不知道大家運(yùn)用的熟練不,今天我們深入學(xué)習(xí)下Linux的shell命令以及運(yùn)行原理和Linux下的權(quán)限方面的一些知識。
shell命令以及運(yùn)行原理
Linux嚴(yán)格意義上說的是一個(gè)操作系統(tǒng),我們稱之為“核心(kernel)“ ,但我們一般用戶,不能直接使用kernel。而是通過kernel的“外殼”程序,也就是所謂的shell,來與kernel溝通。如何理解?為什么不能直接使用kernel?
從技術(shù)角度,Shell的最簡單定義:命令行解釋器(command Interpreter)
主要包含:
將使用者的命令翻譯給核心(kernel)處理。
同時(shí),將核心的處理結(jié)果翻譯給使用者。對比windows GUI,我們操作windows 不是直接操作windows內(nèi)核,而是通過圖形接口,點(diǎn)擊,從而完成我們的操作(比如進(jìn)入D盤的操作,我們通常是雙擊D盤盤符.或者運(yùn)行起來一個(gè)應(yīng)用程序)。
shell 對于Linux,有相同的作用,主要是對我們的指令進(jìn)行解析,解析指令給Linux內(nèi)核。反饋結(jié)果在通過內(nèi)核運(yùn)行出結(jié)果,通過shell解析給用戶。幫助理解:
如果說你是一個(gè)悶騷且害羞的程序員,那shell就像媒婆,操作系統(tǒng)內(nèi)核就是你們村頭漂亮的且有讓你心動(dòng)的MM小花。你看上了小花,但是有不好意思直接表白,那就讓你你家人找媒婆幫你提親,所有的事情你都直接跟媒婆溝通,由媒婆轉(zhuǎn)達(dá)你的意思給小花,而我們找到媒婆姓王,所以我們叫它王婆,它對應(yīng)我們常使用的bash。
shell的本質(zhì)也是一個(gè)可執(zhí)行程序(進(jìn)程),系統(tǒng)啟動(dòng)期間,一直在運(yùn)行。對于用戶輸入的有風(fēng)險(xiǎn)指令shell通過創(chuàng)建子進(jìn)程去執(zhí)行這個(gè)有風(fēng)險(xiǎn)的指令。
Linux權(quán)限的概念
Linux下有兩種用戶:超級用戶(root)、普通用戶。
超級用戶:可以再linux系統(tǒng)下做任何事情,不受限制
普通用戶:在linux下做有限的事情。
超級用戶的命令提示符是“#”,普通用戶的命令提示符是“$”。
超級用戶:
?
普通用戶:
?
命令:su [用戶名]
功能:切換用戶。
例如,要從root用戶切換到普通用戶user,則使用 su user。 要從普通用戶user切換到root用戶則使用 su,root(root可以省略),此時(shí)系統(tǒng)會(huì)提示輸入root用戶的口令。?普通用戶切換root用戶
?
su - root 指令是重新登錄到root賬戶?
?
su root 指令是切換身份
指令exit是退回到原來的賬號
root賬戶切換普通用戶?
?
root賬戶切換到普通用戶是不需要密碼的。
Linux權(quán)限管理
root用戶之下無權(quán)限
文件訪問者的分類(人)
文件和文件目錄的所有者:u---User
文件和文件目錄的所有者所在的組的用戶:g---Group
其它用戶:o---Others?
文件類型和訪問權(quán)限(事物屬性)
?
?文件類型
d:文件夾
-:普通文件
l:軟鏈接(類似Windows的快捷方式)
b:塊設(shè)備文件(例如硬盤、光驅(qū)等)
p:管道文件
c:字符設(shè)備文件(例如屏幕等串口設(shè)備)
s:套接口文件基本權(quán)限
i.讀(r/4):Read對文件而言,具有讀取文件內(nèi)容的權(quán)限;對目錄來說,具有瀏覽該目錄信息的權(quán)限
ii.寫(w/2):Write對文件而言,具有修改文件內(nèi)容的權(quán)限;對目錄來說具有刪除移動(dòng)目錄內(nèi)文件的權(quán)限
iii.執(zhí)行(x/1):execute對文件而言,具有執(zhí)行文件的權(quán)限;對目錄來說,具有進(jìn)入目錄的權(quán)限
iv.“—”表示不具有該項(xiàng)權(quán)限
文件權(quán)限值的表示方法
字符表示方法
??8進(jìn)制數(shù)值表示方法
?
文件訪問權(quán)限的相關(guān)設(shè)置方法
chmod指令
功能:設(shè)置文件的訪問權(quán)限
格式:chmod [參數(shù)] 權(quán)限 文件名常用選項(xiàng):
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)限
用戶符號:?
u:擁有者
g:擁有者同組用
o:其它用戶
a:所有用戶
??
如圖有一個(gè)文件file.txt的所屬者和所屬組都為wyj但是對于這個(gè)文件沒有任何權(quán)限,不能讀也不能寫。
??
如圖我們使用chmod指令對所屬者加上讀和寫權(quán)限,就可以正常讀寫了。
??
如圖我們使用chmod指令對所屬者、所屬組、其他人都加上讀、寫執(zhí)行權(quán)限。
??
如圖我們使用二進(jìn)制對所屬者、所屬組、其他人都去除讀、寫、執(zhí)行的權(quán)限。
??
如圖我們切換root用戶,盡管file.txt這個(gè)文件對所屬者、所屬組、其他人都沒有讀、寫、執(zhí)行權(quán)限,root賬戶依然可以進(jìn)行讀、寫、執(zhí)行。因?yàn)閞oot之下無權(quán)限。
?
我們會(huì)發(fā)現(xiàn)這樣一個(gè)問題,這個(gè)文件的所屬者、所屬組都是wyj,也有這個(gè)文件的讀、寫、執(zhí)行的權(quán)限,那為什么不可以呢?
欲知后事如何,且聽下回分解!!!
今天的分享到這就結(jié)束了,希望大家讀完文章有很大的收獲,也希望大家留言指出我文章中出現(xiàn)的內(nèi)容,同時(shí)也感謝各位看官的三連支持,你們的支持就是我更新的動(dòng)力!!!