根是否覆盖在 unix 中设置为目录的只读权限(甚至对根)



我已经创建了目录,并使用chmod为root设置了只读权限。

CHMOD -R 400 some_dir/

但是当我尝试使用触摸在其中创建任何文件时,我期待错误消息,

例如

触摸some_dir/你好.txt

"触摸:无法触摸'some_dir/你好.txt':权限被拒绝"

但它很高兴地在其中创建了文件"hello.txt",但是如果我检查它,目录权限仍然显示 root 的只读。请解释一下我在这里缺少什么,因为我期待如果任何其他用户(除了root)尝试在该目录中创建文件,将显示错误消息?

PS:我以根用户身份运行。

简短的回答是 - 的,Root 用户可以在标记为只读的目录中创建文件。你可能会争辩 - 为什么?但这就是根帐户的全部意义。这是一个特殊的用户,它可以做其他人做不到的事情。

如果要防止意外修改文件,可以使用chattr +i命令将文件的 i 属性设置为 on。这将使文件不可更改。但是,请注意,它只会防止意外修改。root 用户仍然可以先取消设置属性,然后再修改文件。

最新更新