Linux中的Chmod 777是什麼意思?解釋檔案許可權模式

Linux中的Chmod 777是什麼意思?

chmod 777命令經常被建議作為在Linux中管理網路伺服器時快速修復許可權問題的解決方案。現在,你可能想知道在Linux中chmod 777是什麼意思?好吧,給你一個基本的入門知識,它授予一個檔案或目錄的所有許可權,包括敏感許可權。這就是說,它還有更多的內容,所以我們建議在下面閱讀所有關於chmod 777命令的內容。關於這一點,讓我們轉到文章。

在這篇文章中,我們將詳細介紹了 chmod 777 在Linux中的含義以及你是否應該使用它。但在這之前,我們先解釋了Linux中的檔案許可權模型。

  1. Linux中的檔案許可權是如何工作的?
  2. Linux中的檔案許可權:數值系統
  3. Chmod 777許可權是什麼意思?
  4. 如何在Linux中使用Chmod 777命令?

Linux中的檔案許可權是如何工作的?

在理解 chmod 777 命令之前,讓我們先了解一下Linux中檔案許可權模式的基本原理。在Linux中,對檔案和目錄的訪問對每個人來說都是不可用的。它們是根據所有權和屬性來劃分的。有三個不同類別的使用者可以訪問檔案系統,他們如下:

  • Owner
  • Group
  • Others

這裡,”Owner” 是指建立檔案/目錄的檔案所有者。”Group” 是指一組成員,”Others” 是指可以訪問系統的其他所有人。這些類別中的每一個都有一套不同的許可權屬性。同樣有三種型別的許可權:讀取(r),寫入(w)和執行(x)。

  • 讀取 (r) – 使用者只能讀取或檢視檔案/目錄。他們不能對檔案做任何修改。
  • 寫入 (w) – 使用者可以修改檔案或目錄。你可以刪除、移動、重新命名或對檔案或目錄做任何修改。
  • 執行 (x) – 使用者可以執行指令碼或使檔案可執行。

舉個例子,一個檔案的所有者很可能擁有所有三種許可權rwx ),而一個組員或系統中的其他使用者可能只有讀(r)的許可權。如果你從網際網路上下載了一個指令碼或可執行檔案,系統所有者將有讀取和寫入許可權,但沒有預設授予的執行許可權。基本上,這三類使用者對一個檔案或目錄都會有不同的許可權組合。

現在你對許可權模型有了基本的瞭解,是時候瞭解Linux中許可權的編號系統了。

Linux中的檔案許可權:數值系統

在Linux系統中,讀、寫和執行的許可權是以下列方式表示的。這些許可權的數值是由它們的二進位制8位資料得出的,但為了使指南易於理解,我們不做過多的詳細說明。

  • 讀取 (r) – 4
  • 寫入 (w) – 2
  • 執行 (x) – 1
  • 無許可權 – 0

基於上述數字系統,不同的許可權集可以有很多組合。其中大多數使用三位數系統,代表許可權數字的總和。請參考下面的表格,以便更好地理解這一點。

許可權 符號
0 (0+0+0) 無許可權 ---
1 (0+0+1) 僅執行 --x
2 (0+2+0) 僅寫入 -w-
3 (0+2+1) 讀取和執行 -wx
4 (4+0+0) 僅讀取 r--
5 (4+0+1) 讀取和執行 r-x
6 (4+2+0) 讀取和寫入 rw-
7 (4+2+1) 讀取,寫入和執行 rwx

從上表中你可以瞭解到, 7的值表示 rwx 許可權組合。因此,如果一個檔案或目錄被授予了7的許可權,它就擁有所有三種許可權–讀、寫和執行。但是,在Chmod命令中三個777是什麼意思?好吧,轉到下一節來了解Chmod 777在Linux中的含義。

Chmod 777許可權是什麼意思?

在繼續前進之前,你需要知道的最後一件事是,這些數字表示完整的檔案/目錄許可權。這裡,第一個數字是指所有者,第二個數字是指組,第三個數字是指其他。我們已經用下面的chmod 777命令的例子解釋了這一點。

Chmod本質上意味著 “改變檔案或目錄的模式”。當我說777時,第一個數字(本例中為7)指的是所有者的許可權。第二個數字(同樣是7)是指組的許可權,第三個數字(同樣是7)表示其他使用者的許可權值。總結一下,777意味著檔案/目錄被授予所有三個使用者類別的讀、寫和執行許可權,包括所有者、組成員和其他人。它被表示為 rwxrwxrwx

基本上,一旦使用這個命令,系統中的任何人都可以檢視、修改、刪除、執行或對該檔案或目錄做任何事情。這就是為什麼 chmod 777 命令被認為是非常敏感的,而且強烈不鼓勵使用者使用它。這可能會帶來安全風險,使你的網路伺服器暴露在惡意行為者面前。

作為替代方案,我們建議使用更好、更安全的 chmod 644 命令來設定檔案許可權。正如你可以理解的那樣,644的許可權號將只授予所有者(第1位)讀寫(6)的許可權。此外,讀(4)的許可權會分配給所有組員(第2位)和其他使用者(第3位)。

如何在Linux中使用Chmod 777命令?

要在你的Linux電腦上或Windows電腦的WSL中執行 chmod 777 命令,你需要遵循以下語法。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
chmod 777 <filepath or filename>
chmod 777 <filepath or filename>
chmod 777 <filepath or filename>

執行 chmod 777 命令

你也可以用其他流行的檔案許可權組合代替777的數值,如下圖所示。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
chmod 644 <filepath or filename>
chmod 644 <filepath or filename>
chmod 644 <filepath or filename>

用其他流行的檔案許可權組合代替777

要檢查一個現有檔案/目錄的數字許可權值,你可以使用下面的命令:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
stat -c "%a" <filepath or filename>
stat -c "%a" <filepath or filename>
stat -c "%a" <filepath or filename>

檢查一個現有檔案/目錄的數字許可權值

小結

所以這就是你需要知道的關於Chmod 777和它在Linux中的作用的一切。如上所述,我們不建議給所有使用者提供許可權,特別是當你的網路伺服器面臨問題時。相反,我們建議你使用644或755的檔案許可權值,因為它們的風險沒有那麼高。您還可以閱讀40個最常用的Linux命令列大全一文,以深入瞭解Linux。最後,如果你有任何問題,請在下面的評論區告訴我們。

評論留言