Not-Root-User

chown 作為非 root 使用者

  • July 30, 2014

我試圖將我擁有的文件 chown 到 root,但是我的機器說我不允許。我用Google搜尋了一下,發現一些主題說 chown 是一個僅限 root 的命令。但也有人說這不是真的。難道我做錯了什麼?

pi@raspberrypi /media/usb1 $ whoami
pi
pi@raspberrypi /media/usb1 $ ls -laxo
total 8
drwxr-x---  2 pi   4096 Jul 30 09:39 .
drwxr-xr-x 10 root 4096 Jul 29 12:52 ..
-rwxr-x---  1 pi      0 Jul 30 09:29 lol
pi@raspberrypi /media/usb1 $ chown root lol
chown: changing ownership of `lol': Operation not permitted

一些較舊的 Unix 允許“放棄”文件所有權,但這在很久以前就被放棄了。在真正的多使用者機器時代,數百名使用者通過終端連接到一台 unix 機器,人們學會了濫用它來繞過他們的磁碟配額。此外,在某種意義上,洩露文件是一種社會工程形式,粗心的使用者可能會被誘騙執行惡意程序。因此,允許非超級使用者使用 chown 比使用更麻煩,因此不再提供。

所以你需要成為超級使用者才能呼叫 chown。

但是等等,還有更多:如果您的系統支持 POSIX 功能(就像 Linux 一樣),那麼您不需要成為超級使用者,您只需要具備 CAP_CHOWN 功能即可。

引用自:https://unix.stackexchange.com/questions/147386