天天看點

Linux讀寫執行權限(-r、-w、-x)

rwx 權限對目錄的作用

目錄,主要用來記錄檔案名清單,不同的權限對目錄的作用如表1所示。

表 1 rwx 權限對目錄的作用

rwx 權限 對目錄的作用
讀權限(r) 表示具有讀取目錄結構清單的權限,也就是說,可以看到目錄中有哪些檔案和子目錄。一旦對目錄擁有 r 權限,就可以在此目錄下執行 ls 指令,檢視目錄中的内容。
寫權限(w) 對于目錄來說,w 權限是最高權限。對目錄擁有 w 權限,表示可以對目錄做以下操作:
  • 在此目錄中建立新的檔案或子目錄;
  • 删除已存在的檔案和目錄(無論子檔案或子目錄的權限是怎樣的);
  • 對已存在的檔案或目錄做更名操作;
  • 移動此目錄下的檔案和目錄的位置。
一旦對目錄擁有 w 權限,就可以在目錄下執行 touch、rm、cp、mv 等指令。
執行權限(x) 目錄是不能直接運作的,對目錄賦予 x 權限,代表使用者可以進入目錄,也就是說,賦予 x 權限的使用者或群組可以使用 cd 指令。

對目錄來說,如果隻賦予 r 權限,則此目錄是無法使用的。很簡單,隻有 r 權限的目錄,使用者隻能檢視目錄結構,根本無法進入目錄(需要用 x 權限),更不用說使用了。

是以,對于目錄來說,常用來設定目錄的權限其實隻有 0(---)、5(r-x)、7(rwx)這 3 種。

rwx 權限對檔案的作用

檔案,是系統中用來存儲資料的,包括普通的文本檔案、資料庫檔案、二進制可執行檔案,等等。不同的權限對檔案的含義如表 1 所示。

表 1 rwx 權限對檔案的作用

rwx 權限 對檔案的作用
讀權限(r) 表示可讀取此檔案中的實際内容,例如,可以對檔案執行 cat、more、less、head、tail 等檔案檢視指令。
寫權限(w) 表示可以編輯、新增或者修改檔案中的内容,例如,可以對檔案執行 vim、echo 等修改檔案資料的指令。注意,無權限不賦予使用者删除檔案的權利,除非使用者對檔案的上級目錄擁有寫權限才可以。
執行權限(x) 表示該檔案具有被系統執行的權限。Window系統中檢視一個檔案是否為可執行檔案,是通過擴充名(.exe、.bat 等),但在 Linux 系統中,檔案是否能被執行,是通過看此檔案是否具有 x 權限來決定的。也就是說,隻要檔案擁有 x 權限,則此檔案就是可執行檔案。但是,檔案到底能夠正确運作,還要看檔案中的代碼是否正确。

對于檔案來說,執行權限是最高權限。給使用者或群組設定權限時,是否賦予執行權限需要慎重考慮,否則會對系統安裝造成嚴重影響。

【例 1】

某目錄的權限如下所示:

drwxr--r--.  3  root  root  4096  Jun 25 08:35   .ssh

系統有個賬号名稱為 vbird,此賬戶并不包含在 root 群組中,請問 vbird 對這個目錄有何權限?是否可切換到此目錄中?

答案:vbird 對此目錄僅具有 r 的權限,是以 vbird 可以查詢此目錄下的檔案名清單。因為 vbird 不具有 x 的權限,是以 vbird 并不能切換到此目錄内。

【例 2】

假設有個賬号名稱為dmtsai,他的家目錄在/home/dmtsai/,dmtsai對此目錄具有[rwx]的權限。若在此目錄下有個名為 the_root.data 的檔案,該檔案的權限如下: