将使用者的命令翻譯給核心(kernel)處理。
同時,将核心的處理結果翻譯給使用者。
注意:shell 是所有外殼程序的統稱,bash 是一種具體的shell。例如:centos 7外殼程序 :bash
shell是做命令行解釋的
對系統有危害性的命令會被阻止從而保護操作系統
其好處為子進程出現任何問題都不會影響父進程shell
命令 : su [用戶名]
功能:切換用戶。
例如,要從root用戶切換到普通用戶user,則使用 su user。 要從普通用戶user切換到root用戶則使用 suroot(root可以省略),此時系統會提示輸入root用戶的口令。
文件受人的影響和文件受本身自身特點 (事物屬性) 的影響 所以 文件權限 = 人 事物屬性
文件權限屬性:r(讀)、w(寫)、x(執行權限)
人 (不是特定具體的人,而是一種角色):擁有者、所屬組、other (其它)
使用命令 ls -l (ll) 顯示的多列屬性的第一列對應的字符來區分它的文件類型。
不需要列出other,因為不是擁有者和所屬組的就是other了
我們舉個簡單的例子,在一家公司内部,兩個項目組,要完成同樣的代碼任務,他們之間彼此是互相競争的關系,但是公司給他們提供的服務器隻有一個,他們完成的代碼要提交上去,這是你寫的代碼,肯定隻是想讓你和你的組員組長能看到,不想你的競争對手組看到,這就産生了所屬組的概念。
d:文件夾
-:普通文件
l:軟鍊接(類似Windows的快捷方式)
b:塊設備文件(例如硬盤、光驅等)
p:管道文件
c:字符設備文件(例如屏幕等串口設備)
s:套接口文件
i.讀(r/4):Read對文件而言,具有讀取文件内容的權限;對目錄來說,具有浏覽該目錄信息的權限
ii.寫(w/2):Write對文件而言,具有修改文件内容的權限;對目錄來說具有删除移動目錄内文件的權限
iii.執行(x/1):execute對文件而言,具有執行文件的權限;對目錄來說,具有進入目錄的權限
iv.“—”表示不具有該項權限
2.3 文件權限值的表示方法
字符表示方法
Linux表示 |
說明 |
Linux |
說明 |
r - - |
隻讀 |
- w - |
僅可寫 |
- - x |
僅可執行 |
r w - |
可讀可寫 |
- w x |
可寫可執行 |
r - x |
可讀可執行 |
r w x |
可讀可寫可執行 |
- - - |
無權限 |
八進制數值表示方法
權限符号 (讀寫執行) |
八進制 |
二進制 |
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 |
$ chmod 777 text.c
$ chmod 000 text.c
$ chmod 640 text.c
2.4 文件訪問權限的相關設置方法
chmod
R -> 遞歸修改目錄文件的權限
說明:隻有文件的擁有者和root才可以改變文件的權限
注意:chmod可以給擁有者,所屬組,其他用戶同時修改權限,中間用逗号隔開如果要修改不是自己的文件的時候需要sudo臨時權限提升或者直接切成root身份
chown
功能:修改文件的擁有者
格式:chown [參數] 用戶名 文件名
實例:$ 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//可以将擁有者、所屬組同時修改
chgrp
功能: 修改文件或目錄的所屬組格式 : chgrp [參數] 用戶組名 文件名常用選項 : -R 遞歸修改文件或目錄的所屬組
實例:$ sudo chgrp root text.c
$ sudo chgrp lighthouse text.c
2.4 修改文件的掩碼
umask
功能:查看或修改文件掩碼
語法:umask 權限值
新建文件夾默認權限=0666
新建目錄默認權限=0777
但是我們觀察到,新建的文件和目錄并不是默認的起始權限,這裡是什麼原因呢?
原因就是創建文件或目錄的時候還要受到umask的影響。假設默認權限是mask,則實際創建的出來的文件權限是: umask & ~umask
說明:将現有的存取權限減去權限掩碼後,即可産生建立文件時預設權限。超級用戶默認掩碼值為0022,普通用戶默認為0002。
2.5 file指令file
功能說明:辨識文件類型。
語法:file [選項] 文件或目錄…
常用選項:-c 詳細顯示指令執行過程,便于排錯或分析程序執行的情形。
-z 嘗試去解讀壓縮文件的内容。
3. 目錄權限面試題:進入一個目錄要什麼權限?
x
r
w
就是隻要用戶具有目錄的寫權限, 用戶就可以删除目錄中的文件, 而不論這個用戶是否有這個文件的寫權限. 我創建的一個文件, 憑什麼被你一個外人可以删掉
結論:
如果目錄本身對other具有w權限,other可以删掉任何目錄下的東西如果目錄本身對other沒有w權限,other則不可以删除
我們的需求:other可以在特定的目錄下創建文件并寫入,但是不想讓任何人删除掉自己的文件
這裡為了解決這個不科學的問題,Linux引入了粘滞位的概念
粘滞位
語法: chmod t 目錄名
功能: 給目錄加上粘滞位
注意:隻能對目錄設置 ,一般是 限制other 權限的,對設置粘滞位的目錄,在該目錄下, 隻能有文件的擁有者和root用戶可以删除 ,其他人不能删除
示例:
有多個人或者系統會有很多的臨時數據,所有的臨時文件都放在系統的*/tmp*目錄下。所有的權限需要放開,但是隻想讓文件的擁有者删除自己的文件,這需要設置粘滞位
5. 總結更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!