我只是想从外部硬盘中删除大多数文件,但不包括某些文件。所以我将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
。