小编Ric*_*ich的帖子

为什么具有 400 权限的文件被 root 视为可写但被用户只读?

如果我以非特权用户的身份创建一个文件,并将权限模式更改为400,则该用户正确地将其视为只读:

$ touch somefile
$ chmod 400 somefile
$ [ -w somefile ] && echo rw || echo ro
ro
Run Code Online (Sandbox Code Playgroud)

一切都很好。

但后来 root 出现了:

# [ -w somefile ] && echo rw || echo ro
rw
Run Code Online (Sandbox Code Playgroud)

有没有搞错?当然,root 可以写入只读文件,但它不应该养成这样的习惯:最佳实践往往会规定我应该能够测试写权限位,如果不是,则已设置那样是有原因的。

我想我想了解为什么会发生这种情况,以及在测试没有设置写入位的文件时如何获得错误的返回码?

permissions readonly test

11
推荐指数
2
解决办法
6764
查看次数

标签 统计

permissions ×1

readonly ×1

test ×1