lar*_*els 32 linux unix root permissions
我刚刚在我的 Ubuntu 机器(ext3 文件系统)上注意到,从文件中删除写权限并不会阻止 root 写入它。
这是 UNIX 文件权限的一般规则吗?还是特定于 Ubuntu?还是我的机器上配置错误?
# 触摸 abc
# chmod ugo-w abc
# Python
Python 2.6.4(r264:75706,2009 年 12 月 7 日,18:45:15)
[GCC 4.4.1] 在 linux2 上
输入“帮助”、“版权”、“信用”或“许可”以获取更多信息。
>>> open('abc','w').write('AAA\n')
>>>
#猫abc
AAA
如果我从普通用户帐户执行此操作,则写入文件将失败(如预期)。
这是正常行为吗?
有没有办法防止 root 意外写入文件?(最好使用普通的文件系统机制,而不是 AppArmor 等)
请教我一些我绝对不明白的东西。
注意:我知道root 可以完全控制系统,例如,可以更改任何文件的权限。我的问题是当前设置的权限是否对以 root 身份运行的代码强制执行。这个想法是 root 用户防止她/他自己意外写入文件。
注意:我也明白不应以 root身份登录进行正常操作。我刚刚注意到这种行为,并正在询问您。
bri*_*ice 46
1) 这是正常行为。root 始终对所有文件具有 rw 访问权限。
2)您甚至可以通过使用来保护文件(不是故意的操作,而是意外的,无论如何)
chattr +i filename.ext
Run Code Online (Sandbox Code Playgroud)
那就是“更改属性添加不可变”。要取消保护:
chattr -i filename.ext
Run Code Online (Sandbox Code Playgroud)
查看man chattr更多信息