題 為什麼要使用命令chown和chgrp?


我明白了什麼命令 chown 和 chgrp 然而,不明白為什麼除了將所有權分配給另一個用戶或組之外你還想使用它們?這是出於安全目的還是出於其他原因?


4
2018-03-27 19:33


起源


chown命令可用於更改用戶和組所有權,而chgrp命令只能用於更改組所有權 dba-oracle.com/linux/chown_chgrp_command_tips.htm - TryHarder


答案:


Linux或其他Unix風格的系統構建為多用戶系統。

您必須明白,在這個概念中,不僅自然人會被視為用戶,守護程序或其他程序可能作為自己的用戶運行。

例如:如果要運行Web服務器,則為apache服務創建專用用戶是有意義的。通過這種方式,apache不會破壞它沒有權限的文件,主要是因為它既不直接擁有文件也不屬於用戶所在的任何組。

基本上,您可以單獨訪問文件,通過為用戶分配多個組,您可以明確地定義他們以及如何訪問某些文件的方式。

順便說一句 chown :group /path/file 做同樣的事情 chgrp 注意,請注意組名前面的冒號 chown user:group /path/file 你可以做到這兩點。

我應該補充說,必須相應地設置文件權限。運用 chmod 您可以為用戶,組和世界的文件設置權限標誌(讀,寫,執行)。


12
2018-03-27 19:49



謝謝。我不知道我可以執行命令 chown 如 chown :groupname filename。我以為我必須包含用戶名。除了用戶名,我按照你提到的那樣,它會有相同的結果 chgrp groupname。是對的嗎? - PeanutsMonkey
是的,這就是我一直在linux下更改組的方式。因此我不知道是否 chown實際上缺少功能 chgrp 可能有。對我來說它有效:) - Baarn


你完全理解:你使用 chown 更改文件的所有權或組以將所有權移交給其他人。你用 chmod 更改與其中一個所有者關聯的權限。

您錯過了更深層次的需求,只是這些操作表達的一般淺層需求。其他一些用戶應該擁有一個文件的數百萬個理由,但沒有一個比“因為我們這樣做”更深。


1
2018-03-27 19:35



如果您不是root用戶,請嘗試將文件chown給另一個用戶。 - Daniel Beck♦
@DanielBeck - 對不起,你的觀點讓我在這裡逃過一劫。 - Daniel Pittman
@Daniel Beck - 我知道如果不是root用戶或創建文件或目錄的人員或帳戶,您就無法更改文件或目錄的所有權。 - PeanutsMonkey


如果您在一個操作系統上創建的USB閃存驅動器上保存了一堆文件,並且需要在另一個(Linux)操作系統上使用其中一些文件或所有文件,則可能需要運行查找命令並在一個實例中遍歷一個目錄樹,用於chown所有文件,然後在另一個find命令中使用find命令的-exec功能跟進chgrp命令,以便使用這些文件(大概有不同的用戶和組ID),這樣文件就可以了用於兩個不同的L​​inux操作系統。


1
2018-03-27 19:41





這是由於一個簡單的事情叫做 Unix哲學

寫程序 做一件事,做得好。編寫程序以協同工作。編寫程序來處理文本流,因為這是一個通用接口。

至少那是我的假設:)


1
2018-03-27 19:45