chmod 和 chown 之間的主要區別是什麼?

chmod 和 chown 之間的主要區別是什麼?

在一些例子中,我看到有些使用chown而不是chmod.我不知道在哪裡使用chmodchown。請向我解釋它們之間的區別,何時以及為什麼我應該使用它們。

答案1

簡單來說, chown用於更改文件的所有權,而chmod用於更改文件模式位元。

  • chown定義誰擁有該檔案。
  • chmod定義了誰可以做什麼。

當您讓某人成為文件的擁有者時,他幾乎可以對該文件執行任何他想要的操作,例如,他可以使用chmod更改其模式(例如權限)來定義誰可以執行什麼操作。

$ ls -l file
-rwxrwxr-x  2  ravexina admins   26 May  9 12:49 file

在上面的行中,我們可以看到ravexina是文件的擁有者,也是admins群組。我可以使用:sudo chown dave:sudo file將文件的擁有者更改為dave並將群組更改為sudo;現在該文件屬於“dave”和“sudo”組中的每個人。

然而,chmod我們定義誰可以做什麼?誰有權利讀取文件、寫入文件或執行文件。例如:

chmod 777 file

賦予每個人(包括所有者、群組和其他人)讀取、寫入和執行的權限。

美國關閉: 在此輸入影像描述

答案2

讓我們建立一個文件

touch rainbow

讓我們來看看文件的元數據

$ ls -l rainbow
-rw-rw-r-- 1 zanna zanna 0 May 24 10:09 rainbow

資訊的第一部分是檔案類型(-開頭表示它是常規檔案)和權限位

之後我們看到了所有者(zanna)和團隊(zanna)。我們可以使用chown命令來更改這些:

$ sudo chown pixie rainbow
$ ls -l rainbow
-rw-rw-r-- 1 pixie zanna 0 May 24 10:09 rainbow

我們用來chmod改變權位

$ sudo chmod 333 rainbow
$ ls -l rainbow
--wx-wx-wx 1 pixie zanna 0 May 24 10:09 rainbow

由於權限位元是為擁有者、群組和其他人單獨設定的,因此您可以透過組合chown和控制不同使用者的檔案權限chmod控制不同使用者的檔案權限。看這簡短的指南有關 Linux 權限的速成課程。

答案3

在考慮檔案(或目錄,或其他)的權限時,有兩個因素:

  • 世界衛生組織擁有該文件 - 使用者和群組,以及
  • 什麼他們可以用它來做——讀、寫、執行或它們的組合。

chown涉及到世界衛生組織chmod涉及到什麼。您不能使用其中一個來代替另一個。

簡單的 Unix 權限將嘗試存取檔案的使用者分為三種類型:

  1. 文件的所有者
  2. 屬於擁有該文件的群組的成員的用戶
  3. 其他人

chown用於更改前兩個。chmod用於變更授予這些類型的權限。

答案4

已經很好的答案了,但我想在權限很容易理解的地方做出貢獻

chmod u=r+w,o=r-w,g=-r-w test.php

u = user
o = other
g = group

這樣您就可以輕鬆地將權限附加到檔案。在上面的例子中

user = read + write
other = read but not write
group = not read not write

-R如果您想遞歸地更改權限,請不要忘記。

相關內容