Linux系統是一個典型的多使用者作業系統,不同的使用者處于不同的地位,為了保護系統的安全性,linux系統對于不同使用者通路同一個檔案或目錄做了不同的通路控制。而這種控制就是通過權限實作的,本節課我們介紹linux權限的使用
Linux中每個檔案或目錄都有3個基本權限位,控制三種通路級别使用者的讀、寫、執行,是以linux的基本權限位一共有9個。基本權限位和另外3個可以影響可執行程式運作的3個特殊權限位一起構成了檔案通路模式。三個屬性規定了對應三種級别的使用者能夠如何使用這個檔案,這三個基本權限位對于檔案和目錄的含義有所差别的,我們一起來看一下
字元
權限
對檔案的含義
對目錄的含義
r
讀
意味着我們可以檢視閱讀
可以列出目錄中的檔案清單
w
寫
意味着,對檔案可以修改或删除
可以在該目錄中建立、删除檔案
x
執行
如果是檔案就可以運作,比如二進制檔案或腳本。
可以使用cd指令進入該目錄
那三種通路級别都有哪些呢?每個檔案都有三組不同的讀、寫和執行權限,分别适用于三種通路級别,其中每組中的三個欄位分别使用讀取權限(r)、寫入權限(w)、執行權限(x)或沒有相應的權限(-)來表示,共9位來表示。
第一組:适用于檔案的屬主,圖中屬主的權限是rwx。
第二組:适用于檔案的屬組,圖中屬組的權限是r-x。
第三組:使用于其它使用者權限位,圖中其它使用者權限位是r-x。
當有人試圖通路一個檔案的時候,linux系統會按順序執行如下步驟:
(1)使用者擁有這個檔案嗎?如果是,啟用使用者權限。
(2)使用者是組所有者成員嗎?如果是,啟用組權限
(3)如果以上兩個都不是,啟用其它人權限
上面我們提到的是第一種表示方法,在linux中還有另外一種表示方法,八進制表示法,我們來看下字母和八進制表示方法的對應關系
字元表示法
八進制表示法
含義
4
2
1
是以上面給出的權限rwxr-xr-x換成數字的表示方式就是755,那權限如何設定呢?
通過前面的學習我們知道,使用者分為所有者,所有者組,其他人這三類,而每一類有包含三種基本權限,他們的對應關系是
權限位
屬主權限位
用于限制檔案或目錄的建立者
屬組權限位
用于限制檔案或目錄所屬組的成員
其它使用者的權限
用于限制既不是屬主又不是所屬組的能通路該檔案或目錄的其他人員
當我們使用指令來檢視檔案或目錄時,會看如下内容
每一行顯示一個檔案或目錄的資訊,這些資訊包括檔案的類型(1位)、檔案的權限(9位)、檔案的連接配接數、檔案的屬主(第3列)、檔案的所屬組(第4列),大小以及相關時間和檔案名。其中Linux 檔案的權限标志位九個,分為3 組,分别代表檔案擁有者的權限,檔案所屬使用者組的權限和其它使用者的權限,現在我們知道檔案有三種權限((r)讀取、(w)寫入和(x)執行)和三種通路級别((u)使用者、(g)主要組和(o)其它人)決定檔案可以被如何使用。那如何修改?
修改檔案權限 chmod
-
使用數字的表示方式類似chmod 755 a,執行完成後a這個檔案的權限對應就是 -rwxr-xr-x,這是檔案權限的兩種修改方式,如果你想修改檔案的所有者和所有者組需要使用的指令就是chown,chgrp
這裡,我們涉及到了三條與權限修改相關的指令
操作
可以執行的使用者
chmod
Root使用者和檔案的所有者
chgrp
Root使用者和檔案的所有者(必須是組成員)
chown
隻有root使用者
以上是三種基本權限 -R
每一個新産生的檔案都會有一個預設的權限,這個權限是通過系統中的umask來控制的
檔案的最大權限是666
目錄的權限是777
使用umask檢視
歡迎加入交流鵝群 685868549