1. 程式人生 > >Linux讀寫執行權限(-r、-w、-x)的真正含義

Linux讀寫執行權限(-r、-w、-x)的真正含義

就是 ref inf 名稱 win cd 命令 .bat 人的 嚴重

通過前面的學習,我們知道了給文件設定權限的重要性,也知道了如何給文件設定權限。那麽,讀(r)、寫(w)、執行(x)權限到底指的是什麽呢?

首先要告訴大家的是,這些權限的含義並沒有表面上那麽簡單,甚至同一權限對文件和目錄的含義也不相同。

rwx 權限對文件的作用

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

表 1 rwx 權限對文件的作用
rwx 權限對文件的作用
讀權限(r) 表示可讀取此文件中的實際內容,例如,可以對文件執行 cat、more、less、head、tail 等文件查看命令。
寫權限(w) 表示可以編輯、新增或者修改文件中的內容,例如,可以對文件執行 vim、echo 等修改文件數據的命令。註意,無權限不賦予用戶刪除文件的權利,除非用戶對文件的上級目錄擁有寫權限才可以。
執行權限(x) 表示該文件具有被系統執行的權限。Window系統中查看一個文件是否為可執行文件,是通過擴展名(.exe、.bat 等),但在 Linux 系統中,文件是否能被執行,是通過看此文件是否具有 x 權限來決定的。也就是說,只要文件擁有 x 權限,則此文件就是可執行文件。但是,文件到底能夠正確運行,還要看文件中的代碼是否正確。


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

rwx 權限對目錄的作用

目錄,主要用來記錄文件名列表,不同的權限對目錄的作用如表 2 所示。

表 2 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 種。

【例 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 的文件,該文件的權限如下:

-rwx------. 1 root root 4365 Sep 19 23:20 the_root.data

請問 dmtsai 對此文件的權限為何?可否刪除此文件?

答案:由於 dmtsai 對此文件來說是其他人的身份,因此這個文件他無法讀、無法編輯也無法執行,也就是說,他無法變動這個文件的內容就是了。但是由於這個文件在他的家目錄下,他在此目錄下具有 rwx 的完整權限,因此對於 the_root.data 這個文件來說,是能夠刪除的。

Linux讀寫執行權限(-r、-w、-x)的真正含義