與其他系統(tǒng)相比而言 Linux 系統(tǒng)的眾多優(yōu)點中最為主要一個便是 Linux 系統(tǒng)有著更少的安全漏洞和被攻擊的隱患。Linux 無疑為用戶提供了更為靈活和精細化的文件系統(tǒng)安全權限控制。這可能意味著 Linux 用戶理解安全權限是至關重要的。雖然這并不一定是必要的,但是對于初學者來說,理解 Linux 權限的基本知識仍是一個明智之選。
查看 Linux 安全權限
在開始 Linux 權限的相關學習之前,假設我們新建了一個名為PermissionDemo的目錄。使用cd命令進入這個目錄,然后使用ls -l命令查看 Linux 安全管理權限信息。如果你想以時間為序排列,加上-t選項
ls -lt
因為這一目錄下沒有文件,所以這一命令執(zhí)行不會返回結果。
要了解關于ls命令的更多信息,請通過在命令行中輸入man ls來查看命令手冊。
現(xiàn)在,讓我們創(chuàng)建兩個名為cat.txt和dog.txt的空白文件;這一步使用touch命令將更為簡便。然后繼續(xù)使用mkdir命令創(chuàng)建一個名為Pets的空目錄。我們可以再次使用ls -l命令查看這些新文件的權限。
我們需要留意這個命令輸出結果的兩個部分。
誰擁有權限?
首先要注意的是誰具有訪問文件/目錄的權限。請注意下面紅色框中突出顯示的部分。第一列是指具有訪問權限的用戶,而第二列是指具有訪問權限的組。
用戶的類型主要有三種:用戶、組和其他人(本質(zhì)上既不是用戶也不是組)。還有一個全部,意思是幾乎所有人。
由于我們使用root作為當前用戶,所以我們可以訪問任何文件或目錄,因為root是超級用戶。然而,通常情況并非如此,你可能會被限定使用你的普通用戶登錄。所有的用戶都存儲在/etc/passwd文件中。
“組”的相關信息保存在/etc/group文件中。
他們有什么權限?
我們需要注意的是ls -l命令輸出結果的另一部分與執(zhí)行權限有關。以上,我們查看了創(chuàng)建的dog.txt和cat.txt文件以及Pets目錄的所有者和組權限都屬于root用戶。我們可以通過這一信息了解到不同用戶組所擁有的相應權限,如下面的紅色框中的標示。(LCTT 譯注:下圖的“OWNER”應為“OTHER”)
Enforcing permissions for different user ownership types
我們可以把每一行分解成五部分。第一部分標志著它是文件還是目錄:文件用-(連字符)標記,目錄用d來標記。接下來的三個部分分別是用戶、組和其他人的對應權限。最后一部分是訪問控制列表(ACL)的標志,是記錄著特定用戶或者用戶組對該文件的操作權限的列表。
Linux 的權限級別可以用字母或數(shù)字標識。有三種權限類型:
??可讀?。簉或4
??可寫入:w或2
??可執(zhí)行:x或1
(LCTT 譯注:原文此處對應的字母標示x誤寫為e,已更正)
每個字母符號(r、w或x)表示有該項權限,而-表示無該項權限。在下面的示例中,文件的所有者可讀可寫,用戶組成員僅可讀,其他人可讀可執(zhí)行。轉(zhuǎn)換成數(shù)字表示法,對應的是645(如何計算,請參見下圖的圖示)。
以下是一些示例:
完成下面的測試,檢查你是否掌握了權限管理相關的知識。