Linux 許可權入門指南
與其他系統相比而言 Linux 系統的眾多優點中最為主要一個便是 Linux 系統有著更少的安全漏洞和被攻擊的隱患。Linux 無疑為用戶提供了更為靈活和精細化的文件系統安全許可權控制。這可能意味著 Linux 用戶理解安全許可權是至關重要的。雖然這並不一定是必要的,但是對於初學者來說,理解 Linux 許可權的基本知識仍是一個明智之選。
查看 Linux 安全許可權
在開始 Linux 許可權的相關學習之前,假設我們新建了一個名為 PermissionDemo
的目錄。使用 cd
命令進入這個目錄,然後使用 ls -l
命令查看 Linux 安全管理許可權信息。如果你想以時間為序排列,加上 -t
選項
ls -lt
因為這一目錄下沒有文件,所以這一命令執行不會返回結果。
![No output from ls -l command](/data/attachment/album/201907/04/133824onqym0wm7koo4mju.jpg "No output from ls -l command")
要了解關於 ls
命令的更多信息,請通過在命令行中輸入 man ls
來查看命令手冊。
![ls man page](/data/attachment/album/201907/04/133825mz87qpm8yfl1ltyp.jpg "ls man page")
現在,讓我們創建兩個名為 cat.txt
和 dog.txt
的空白文件;這一步使用 touch
命令將更為簡便。然後繼續使用 mkdir
命令創建一個名為 Pets
的空目錄。我們可以再次使用ls -l
命令查看這些新文件的許可權。
![Creating new files and directory](/data/attachment/album/201907/04/133826gpy5pmznz2pkm2ok.jpg "Creating new files and directory")
我們需要留意這個命令輸出結果的兩個部分。
誰擁有許可權?
首先要注意的是誰具有訪問文件/目錄的許可權。請注意下面紅色框中突出顯示的部分。第一列是指具有訪問許可權的用戶,而第二列是指具有訪問許可權的組。
![Output from -ls command](/data/attachment/album/201907/04/133827vze76p5y2ht2yphp.jpg "Output from -ls command")
用戶的類型主要有三種:用戶、組和其他人(本質上既不是用戶也不是組)。還有一個全部,意思是幾乎所有人。
![User types](/data/attachment/album/201907/04/133832zvk4onr9sorilrli.jpg "User types")
由於我們使用 root
作為當前用戶,所以我們可以訪問任何文件或目錄,因為 root
是超級用戶。然而,通常情況並非如此,你可能會被限定使用你的普通用戶登錄。所有的用戶都存儲在 /etc/passwd
文件中。
![/etc/passwd file](/data/attachment/album/201907/04/133835fyhfihwy1mwndm1q.jpg "/etc/passwd file")
「組」的相關信息保存在 /etc/group
文件中。
![/etc/passwd file](/data/attachment/album/201907/04/133838s9tle7z7971gl1tu.jpg "/etc/passwd file")
他們有什麼許可權?
我們需要注意的是 ls -l
命令輸出結果的另一部分與執行許可權有關。以上,我們查看了創建的 dog.txt
和 cat.txt
文件以及 Pets
目錄的所有者和組許可權都屬於 root
用戶。我們可以通過這一信息了解到不同用戶組所擁有的相應許可權,如下面的紅色框中的標示。(LCTT 譯註:下圖的「OWNER」應為「OTHER」)
![Enforcing permissions for different user ownership types](/data/attachment/album/201907/04/133840xaxqsq0wjwotogsz.jpg "Enforcing permissions for different user ownership types")
我們可以把每一行分解成五部分。第一部分標誌著它是文件還是目錄:文件用 -
(連字元)標記,目錄用 d
來標記。接下來的三個部分分別是用戶、組和其他人的對應許可權。最後一部分是訪問控制列表 (ACL)的標誌,是記錄著特定用戶或者用戶組對該文件的操作許可權的列表。
![Different Linux permissions](/data/attachment/album/201907/04/133844ous5itzx4ss775xx.jpg "Different Linux permissions")
Linux 的許可權級別可以用字母或數字標識。有三種許可權類型:
- 可讀取:
r
或4
- 可寫入:
w
或2
- 可執行:
x
或1
(LCTT 譯註:原文此處對應的字母標示 x
誤寫為 e
,已更正)
![Privilege types](/data/attachment/album/201907/04/133849yw1qpeekn1zwqw11.jpg "Privilege types")
每個字母符號(r
、w
或 x
)表示有該項許可權,而 -
表示無該項許可權。在下面的示例中,文件的所有者可讀可寫,用戶組成員僅可讀,其他人可讀可執行。轉換成數字表示法,對應的是 645
(如何計算,請參見下圖的圖示)。
![Permission type example](/data/attachment/album/201907/04/133852x81q1jltqytqy11r.jpg "Permission type example")
以下是一些示例:
![Permission type examples](/data/attachment/album/201907/04/133858u4iaszl7nmm7riln.jpg "Permission type examples")
完成下面的測試,檢查你是否掌握了許可權管理相關的知識。
![Permission type examples](/data/attachment/album/201907/04/133902qnlp9b9bezzbu2q9.jpg "Permission type examples")
via: https://opensource.com/article/19/6/understanding-linux-permissions
作者:Bryant Son 選題:lujun9972 譯者:qfzy1233 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive