为什么root仍然可以编辑权限为0的文件?

为什么root仍然可以编辑权限为0的文件?

我只是想从外部硬盘中删除大多数文件,但不包括某些文件。所以我将chmod这些文件设置为 0,然后执行了sudo rm -r ./*。很痛苦,结果是所有内容都被删除了。

为什么会这样?没有权限触碰这些,但它还是触碰了。我现在很困惑。

答案1

chmod命令使用 4 位数字表示为用户-所有者-其他人-其他人,最后一个是文件组之外的其他用户。每个用户都可以有4(读取)2(写入)或 1(执行),所以chmod 0 file 什么也不做。
如果你输入,man chmod你可以看到它是如何工作的数字


信息由@Richard Nixon 添加-
不能删除 ROOT 权限,但你做的是保护文件免受 ROOT 攻击,因此对此采取的任何行动都将是徒劳的。如何:
已启用 --> sudo chattr +i file
已禁用 --> sudo chattr -i file


如果你阅读该/etc/passwd文件,你会看到ROOT有一个 UID0. 如果用户有更多 UID,更少权限 (访问关键文件、程序等)会有。您可以更改用户的 UID,从而增加或减少其权限。因此,通过这种方式,您可以将另一个用户的权限更改为 ROOT。如何:
使用 ROOT编辑/etc/passwd文件sudo vipw -s并均衡用户权限(列表中的首位)。

有关更多信息此处的密码文件对于 vipw 命令类型man vipw

答案2

当以 root 身份运行时,个人或程序可以在计算机上执行任何操作 - 常规限制不适用。这就是发出命令时应非常小心的原因sudo

相关内容