保护文件夹免受 sudo 攻击

保护文件夹免受 sudo 攻击

是否有能力不允许 sudoers 查看您的文件夹(只有您和 root 可以访问文件夹)?

答案1

假设“sudoers”是指被允许以 root 身份运行带有前缀的命令的人,因为他们在文件中通过类似 的行sudo被提及,那么这些人sudoersbob ALL=(ALL) ALL根。 root 的定义是不知道 root 帐户的密码,而是可以通过任何方式访问 root 帐户。

您无法保护您的数据免受 root 保护。根据定义,root 用户可以执行所有操作。权限没有帮助,因为 root 可以更改或绕过权限。加密无济于事,因为 root 可以破坏执行解密的程序。

如果您不信任某人,请不要向他们授予您存储数据的计算机的 root 访问权限。如果您不信任在计算机上具有 root 访问权限的人,请不要在该计算机上存储您的数据。

如果用户出于某些特定目的(例如轻松管理应用程序、安装软件包等)需要 root 访问权限,则为他们提供自己的硬件,或为他们提供自己的虚拟机。让它们成为虚拟机中的 root,而不是主机上的 root。

答案2

通常sudo以这种方式授予访问权限:

# User privilege specification

root    ALL=(ALL) ALL
user1   ALL=(ALL) ALL

在这种情况下,用户基本上可以不受限制地成为 root 并做任何他们想做的事情。通过这样做,您可以更加明智地授予对 sudo 中各种任务的访问权限:

user1  ALL=(root) /usr/bin/find, /bin/rm

这里我们将 user1 可以使用的命令限制为findrm。如果您知道用户只需要特定命令,您可以授予他们仅对该命令的独占访问权限。

此外,您可以创建脚本而不仅仅是添加命令。例如:

user1  ALL=(root) /usr/local/bin/limited_script.sh

该脚本将是他们有权访问的唯一命令,例如cd /to/some/dir,您可以在之前的脚本中,然后包装他们需要访问的任何命令。这可能是限制他们访问的一种方式。

请注意,该方法并不能完全证明,但可以为您提供一定程度的保护。

答案3

除非 sudoer 可以运行的命令在sudoers配置文件中受到限制(通常/etc/sudoers),sudo否则root您无法阻止 sudoer 访问您的目录。

答案4

您可能会使用 ACL,并在设置适当的 ACE 条目时可以做到这一点。不过,这样比较麻烦一些。

无论如何,如果您这样做,管理员将如何帮助您解决文件/目录的问题?您要么信任您的可信用户,要么不信任,然后转移到您信任管理员的另一个系统。

相关内容