超级用户的具体权力是什么?他们是否有权禁用标准用户 ls 命令?
例如:如果我运行命令:
ls
我收到的输出是:
This is a fake ls!
谁有权这样做?是超级用户还是攻击者?
答案1
像这样的基本命令ls
实际上是像其他程序一样的程序。ls
位于/bin/ls
GNU coreutils 中并且是其一部分(但这只是一小部分信息)。
超级用户权限(通常称为 root 权限)允许您执行以下操作一切与您的系统。事实上,并非在所有情况下,都有像 SELinux 这样的机制旨在防止恶意行为,但那是另一回事了。您很可能没有运行强制执行 SELinux 策略的系统(因为它针对的是服务器和高安全性基础设施)。回到主题,具有 root 权限的人可以/bin/ls
用所有内容替换位于的程序 - 例如 bash 脚本或其他程序。因此,
这是假ls!
如果有人能够以 root 权限访问您的系统,则可能会出现输出。
答案2
您所看到的情况是由/bin/ls
输出的程序替换This is a fake ls!
或在 bash 环境中在命令上设置的别名引起的ls
。
更改/bin/ls
需要 root 权限。超级用户以 root 权限进行操作。攻击者可能已经获得了 root 权限。添加别名只需要您的用户的权限。
ls
通过运行命令/bin/ls
(在绝对路径中)进行测试。如果This is a fake ls!
出现该消息,ls
则程序已被更改,如果没有,则已设置别名。使用命令查看您的别名alias
,并在其中编辑它们~/.bashrc
(假设您使用 bash shell)。