我在 FreeBSD 上偶然发现了令人惊讶的(对我而言)许可行为。假设我以非 root用户身份操作。我创建一个文件,将其权限设置为只读,然后尝试写入其中:
$ touch f
$ chmod 400 f
$ ls -l f
-r-------- 1 user wheel f
$ echo a >> t
t: Permission denied.
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好。现在我和 root 做同样的事情,它写入文件:
# ls -l f2
-r-------- 1 root wheel f2
# echo a >> f2
# echo $?
0
Run Code Online (Sandbox Code Playgroud)
这是一个错误还是预期的行为?我可以安全地假设这在任何 Unix 和 Linux 上都可以工作吗?