解釋了chmod命令和linux檔案許可權

如果您想在任何Linux作業系統上正確管理檔案許可權,您需要知道chmod命令。...

所以你已經找到了你喜歡的Linux風格,但是現在你很困惑,因為你對終端命令和Linux文件權限一無所知?

chmod-command-linux

或者你有一個在Linux服務器上託管的網站,你遇到了一些文件權限問題,這些問題只能通過一些命令行魔法來解決。

無論如何,要學習的最基本的Linux命令之一是一個稱為chmod的小而強大的命令。但是在解釋這個命令的作用之前,我們必須先了解一下Linux是如何處理文件安全的。

linux文件權限的基礎知識

Linux操作系統實際上是類Unix系統(瞭解Linux與Unix),類Unix系統處理文件權限的方式如下:

每個文件都有一個所有者,它決定了文件的“用戶類”。每個文件也有一個組,它決定了文件的“組類”。任何不是所有者並且不屬於同一組的系統用戶都被確定為其他用戶。

類Unix系統上的所有文件都有分配給這三個類的權限,這些權限決定了這些類可以對給定文件執行哪些操作。

在類Unix系統上可用的三種操作是:read(打開和查看文件內容的能力)、write(打開和修改文件內容的能力)和execute(將文件作為可執行程序運行的能力)。

換句話說,文件的權限決定是否:

  • 所有者可以讀取、寫入和執行文件。
  • 組可以讀取、寫入和執行文件。
  • 其他任何人都可以讀取、寫入和執行該文件。

Linux文件權限可以以兩種格式顯示。

第一種格式稱為符號表示法(symbolic notation),它是一個由10個字符組成的字符串:一個字符表示文件類型,然後九個字符表示文件的讀(r)、寫(w)和執行(x)權限(按所有者、組和其他人的順序)。如果不允許,則使用破折號(-)。

例如:

-rwxr-xr--

這意味著它是一個常規文件,擁有所有者的讀、寫和執行權限;擁有組的讀和執行權限;只有其他人的讀權限。

第二種格式稱為數字表示法,它是由三個數字組成的字符串,每個數字分別表示用戶、組和其他權限。每個數字的範圍從0到7,每個數字的值是通過對類的權限求和獲得的:

  • 0表示不允許權限。
  • +如果類可以執行文件,則返回1。
  • +如果類可以寫入文件。
  • +4如果類可以讀取文件。

換句話說,每個數字值的意義最終是:

  • 0:沒有權限
  • 1:執行
  • 2:寫入
  • 3:寫入和執行
  • 4:讀取
  • 5:讀取並執行
  • 6:讀寫
  • 7:讀、寫和執行

所以上面的例子(

-rwxr-xr--

)用數字表示是754。

簡而言之,這就是Linux文件權限。

什麼是奇莫德(chmod)?

在類Unix系統上,chmod是一個系統級命令,表示“更改模式”,允許您手動更改文件的權限設置。

不要與chown混淆,chown是類Unix系統上的另一個系統級命令,代表“change owner”,允許您將文件的所有權分配給另一個用戶;chgrp代表“change group”,將文件分配給另一個組。知道這些很重要,但不像chmod那樣常用。

chmod 644是什麼意思?

將文件的權限設置為644,這樣,只有所有者可以訪問和修改文件,而其他人只能訪問而不修改,並且沒有人可以執行該文件,甚至所有者也不能。這是可公開訪問的文件的理想設置,因為它平衡了靈活性和安全性。

chmod 755是什麼意思?

將文件的權限設置為755與644基本相同,只是每個人都有執行權限。這主要用於可公開訪問的目錄,因為需要execute權限才能更改為目錄。

chmod 555是什麼意思?

將一個文件的權限設置為555,這樣除了系統的超級用戶之外,任何人都不能修改該文件(瞭解有關Linux超級用戶的更多信息)。這不像644那樣常用,但是知道它仍然很重要,因為只讀設置可以防止意外更改和/或篡改。

chmod 777是什麼意思?

將文件的權限設置為777,這樣任何人都可以對該文件執行任何操作。這是一個巨大的安全風險,尤其是在web服務器上!實際上,任何人都可以訪問該文件,根據需要修改它,並在系統上執行它。你可以想象,如果一個流氓用戶得到它的潛在損害。

如何在linux上使用chmod

chmod命令的格式很簡單:

chmod [permissi***] [file]

權限可以用數字符號表示,這是您要為所有類分配特定權限時使用的最佳格式:

chmod 644 example.txt

權限也可以用符號表示,當您只想修改特定類的權限時,這很有用。例如:

chmod u=rwx example.txtchmod g=rw example.txtchmod o=rw example.txt

您可以修改多個類的權限,例如此示例將所有者設置為讀/寫/執行,但將組和其他類設置為讀/執行:

chmod u=rwx,g=rw,o=rw example.txt

將相同的權限分配給多個類時,可以將它們合併:

chmod u=rwx,go=rw example.txt

但是,當您只想為特定類添加或刪除特定操作的權限時,使用符號表示法的美妙之處就顯現出來了。

例如,這將為文件所有者添加執行權限:

chmod u+x example.txt

這將刪除其他用戶的寫入和執行權限:

chmod o-wx example.txt

最後,如果要將特定權限集應用於特定目錄(即遞歸chmod)中的所有文件和文件夾,請使用-R選項並以目錄為目標:

chmod -R 755 example_directory

雖然chmod命令乍一看有點瘋狂,但它實際上非常簡單,而且完全符合邏輯。如果你瞭解以上內容,你就基本上掌握了chmod!

瞭解有關掌握linux的更多信息

chmod、chown和chgrp等命令只是Linux的冰山一角。如果您對操作系統是全新的,我們建議您為Linux新手檢查一下這些整潔的技巧,以及這些您永遠不應該運行的Linux命令。

但最重要的是,你最好看看我們全面的Ubuntu和Linux初學者指南,它會教你入門所需的一切知識,熟悉到讓你感到舒服。

  • 發表於 2021-03-25 12:15
  • 閱讀 ( 51 )
  • 分類:電腦

你可能感興趣的文章

如何隱藏linux上的檔案和資料夾

... 使用cd命令轉到要隱藏的檔案或資料夾。例如,我們要在Documents資料夾中隱藏FilesToHide資料夾。因此,我們使用以下命令: ...

  • 發佈於 2021-03-25 15:00
  • 閲讀 ( 87 )

如何在linux中使用ls命令

如果您不知道如何使用ls命令,那麼獲取與儲存上的檔案相關的詳細資訊是很困難的。在這裡,我們將討論Linux上與ls命令相關的所有內容,以及它使用的一些不同的標誌。 ...

  • 發佈於 2021-03-26 18:01
  • 閲讀 ( 56 )

如何更改linux密碼

...nux密碼很容易。今天我們將向您展示如何通過幾個簡單的命令更改當前使用者的密碼、其他使用者的密碼和超級使用者的密碼。 ...

  • 發佈於 2021-03-28 02:28
  • 閲讀 ( 45 )

終極樹莓皮命令備忘單

...填寫一個簡短的表格才能第一次使用它。下載終極樹莓Pi命令備忘單。 ...

  • 發佈於 2021-03-30 18:59
  • 閲讀 ( 57 )

如何使用受限shell來限制linux使用者可以做什麼

...限使用者不能更改其目錄,您可以控制他們可以訪問哪些命令。下面介紹如何在Linux上設定受限shell。 受限炮彈 受限shell不是另一個shell。這是標準外殼的另一種模式。Bash、Korn、Fish和其他shell都可以在受限shell模式下啟動。在...

  • 發佈於 2021-03-31 10:57
  • 閲讀 ( 56 )

如何在啟動時用systemd執行linux程式

...際上並不需要它們中的大多數,但是包含它們可以讓我們解釋它們。 描述:這是您的服務的文字描述。 想要:我們的服務想要但不需要在我們的服務啟動前啟動網路。 After:此服務成功啟動後(如果尚未執行)應啟動的單元名...

  • 發佈於 2021-04-01 17:43
  • 閲讀 ( 50 )

如何在mac上設定檔案許可權

...“選擇”按鈕。這將把它新增到列表中。 訪問級別是自解釋的,具有“只讀”訪問級別的使用者無法編輯檔案,但他們可以訪問這些檔案。如果帳戶設定為“讀寫”級別,則它們可以同時執行這兩項操作。 要為列表中的使用者...

  • 發佈於 2021-04-02 05:26
  • 閲讀 ( 45 )

如何在linux上使用suid、sgid和sticky位

...權的人如何更改他們的密碼? 提升你的地位 通常,Linux命令和程式執行時與啟動程式的人具有相同的許可權集。當root執行passwd命令以更改密碼時,它將以root的許可權執行。這意味著passwd命令可以自由訪問/etc/shadow檔案中儲存的...

  • 發佈於 2021-04-02 14:48
  • 閲讀 ( 40 )

linux檔案時間戳:atime、mtime和ctime

...思?當我們談論Linux檔案時間戳時。在本指南中,我們將解釋系統如何更新它們,以及如何自己修改它們。 atime、mtime和ctime的區別 每個Linux檔案都有三個時間戳:訪問時間戳(atime)、修改時間戳(mtime)和更改時間戳(ctime)...

  • 發佈於 2021-04-02 16:01
  • 閲讀 ( 62 )

如何在linux上使用stat命令

...串。它們是--format和--printf。它們之間的區別是——printf解釋C樣式的轉義序列,例如換行符和製表符,並且不會自動向其輸出中新增換行符。 我們建立一個格式字串並將其傳遞給stat。要使用的格式序列是%n表示檔名,%s表示檔案...

  • 發佈於 2021-04-02 19:25
  • 閲讀 ( 55 )
nu97359
nu97359

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦