![chmod 和 chown 之間的主要區別是什麼?](https://rvso.com/image/1000391/chmod%20%E5%92%8C%20chown%20%E4%B9%8B%E9%96%93%E7%9A%84%E4%B8%BB%E8%A6%81%E5%8D%80%E5%88%A5%E6%98%AF%E4%BB%80%E9%BA%BC%EF%BC%9F.png)
在一些例子中,我看到有些使用chown
而不是chmod
.我不知道在哪裡使用chmod
和chown
。請向我解釋它們之間的區別,何時以及為什麼我應該使用它們。
答案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 權限將嘗試存取檔案的使用者分為三種類型:
- 文件的所有者
- 屬於擁有該文件的群組的成員的用戶
- 其他人
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
如果您想遞歸地更改權限,請不要忘記。