我试图将我拥有的文件更改为根目录,但我的机器说我不被允许。我用谷歌搜索了一下,发现一些主题说 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
答案1
一些较旧的 Unix 允许“放弃”文件所有权,但这早已被放弃。在真正的多用户盒子时代,数百名用户通过终端连接到一台 UNIX 机器,人们学会了滥用它来绕过磁盘配额。此外,从某种意义上说,泄露文件是一种社会工程形式,粗心的用户可能会被欺骗而执行恶意程序。因此,允许非超级用户进行 chown 比使用更麻烦,因此不再提供。
所以你需要成为超级用户才能调用 chown。
但是等等,还有更多:如果您的系统支持 POSIX 功能(如 Linux 那样),那么您不需要成为超级用户,您只需要具有 CAP_CHOWN 功能即可。